powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в OpenRowSet прописать дату в формате DMY ?
14 сообщений из 14, страница 1 из 1
Как в OpenRowSet прописать дату в формате DMY ?
    #35225077
Фотография Генетический мусор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация такова. На sql server затягиваются данные из фоксовской таблицы через openrowset. В таблице фокса дата представлена в поле "DO" в виде текстового поля формата DD/MM/YYYY (c(10)). При закачке из таблицы нужно отобрать позиции по указанному интервалу дат. Проблема в том, что внутри openrowset формат даты по умолчанию американский MM/DD/YYYY, следовательно у меня не получается задать сравнение, т.к. дата таблица будет некорректной (например начиная с 13/01/2008 в американском формате будет некорректной)

Код: plaintext
SELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Visual FoxPro Driver};SourceDB=c:\data';SourceType=DBF;Collate=Russian;Exclusive=NO','select * from mytable.dbf where between(ctod(do),ctod("01/01/2008"),ctod("31/01/2008"))')

Как привести даты к одному формату ?
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225085
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Используйте формат YYYYMMDD
2. Перед использованием функции OPENROWSET установите:
SET DATEFORMAT DMY
С уважением, Алексей
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225100
Фотография Генетический мусор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На клиенте SET DATEFORMAT DMY установлен. В ХП, где выполняется openrowset "снаружи" OPENROWSET формат даты DMY, а вот внутри OPENROWSET - MDY, в строке SELECT * FROM mytable.dbf WHERE ...

Как в ХП, повлиять на внутренности OPENROWSET ?
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225142
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Генетический мусорКак в ХП, повлиять на внутренности OPENROWSET ?

Использовать универсальный формат представления даты как уже сказал Aleksey-K
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225157
Вместо ctod("01/01/2008"),ctod("31/01/2008") лучше использовать {^2008-01-01}, {^2008-01-31}
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225169
Фотография Генетический мусор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist Генетический мусорКак в ХП, повлиять на внутренности OPENROWSET ?

Использовать универсальный формат представления даты как уже сказал Aleksey-K

Допустим у вас установлен формат даты AMERICAN. Каким образом дату в виде строки "31/01/2008" привести в формат 20080331 ?

SET DATE AMERICAN
? CTOD(DTOS(CTOD('31/03/2008')))

> / /
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225186
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще функция DATE([nYear, nMonth, nDay])

Returns
Date

Arguments

nYear
Specifies the year returned in the year 2000-compliant Date value. nYear can be a value from 100 to 9999.

nMonth
Specifies the month returned in the year 2000-compliant Date value. nMonth can be a value from 1 to 12.

nDay
Specifies the day returned in the year 2000-compliant Date value. nDay can be a value from 1 to 31.
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225207
Генетический мусорДопустим у вас установлен формат даты AMERICAN. Каким образом дату в виде строки "31/01/2008" привести в формат 20080331 ?

SET DATE AMERICAN
? CTOD(DTOS(CTOD('31/03/2008')))

> / /
Вы издеваетесь? С каких это пор '31/03/2008' стало американским форматом? Результат CTOD('31/03/2008') смотрели? И как?
Пишите даты как я вам показал, это не зависящий от настроек формат.
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225234
Фотография Генетический мусор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проходящий, вы не врубились в то что мне нужно, читайте внимательно.
У меня в поле DO дата в символьном формате в виде DD/MM/YYYY. Каким образом я ее представлю в формате {^YYYY-MM-DD} без шаманства с LEFT и SUBS ?
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225244
Генетический мусорПроходящий, вы не врубились в то что мне нужно, читайте внимательно.
У меня в поле DO дата в символьном формате в виде DD/MM/YYYY. Каким образом я ее представлю в формате {^YYYY-MM-DD} без шаманства с LEFT и SUBS ?
Никаким. Даты надо хранить в полях соответствующего типа.
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225257
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Генетический мусорУ меня в поле DO дата в символьном формате в виде DD/MM/YYYY. Каким образом я ее представлю в формате {^YYYY-MM-DD} без шаманства с LEFT и SUBS ?
Никак. Только если SET DATE GERMAN предварительно поставить
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225267
Dima T Генетический мусорУ меня в поле DO дата в символьном формате в виде DD/MM/YYYY. Каким образом я ее представлю в формате {^YYYY-MM-DD} без шаманства с LEFT и SUBS ?
Никак. Только если SET DATE GERMAN предварительно поставить
Это не GERMAN, а BRITISH.
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225279
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.Это не GERMAN, а BRITISH.
Это не важно. Для работы CTOD() любой из 2-х подойдет
...
Рейтинг: 0 / 0
Как в OpenRowSet прописать дату в формате DMY ?
    #35225890
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елы-палы! Ну нафига работать с датами в строковом представлении, объясните мне, если есть представление даты?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в OpenRowSet прописать дату в формате DMY ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]