Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизФорматы дат в MS SQL Server 2000 Найти похожие ветки
← →
Nikolai_S (2004-01-15 10:58) [0]У меня такая проблема. В каком формате нужно работать с датами в MS SQL Server 2000? У себя на рабочем месте в SQL-запросах все работало вот так:
SELECT * FROM MY_TABLE WHERE MY_DATE="23/10/2003"
т.е. дата писалась в одинарных ковычках и в формате"dd/mm/yyyy"
.
На сервере заказчика на подобный запрос выдается ошибка.
Вероятно в настройках SQL-сервера можно задать формат даты. Как тогда его программно узнать из Дельфи? Ведь сам дельфи как-то знает формат конкретного SQL-сервера, т.к. при работе с датами через TADOTable все всегда работает корректно, хотя тоже через SQL-запросы работает с БД.
← →
Academic (2004-01-15 11:00) [1]При формировании запроса лучше использовать параметры для дат.
Гарантия того что сервер правильно поймет кодировку.
← →
Nikolai_S (2004-01-15 11:08) [2]Параметры не катят. Там сложный SQL-запрос, да и в параметрах можно только задать условие типа
MY_DATE=...
, а мне нужно ещеMY_DATE>=...
,Date Between (...) AND (...)
и т.п.
← →
Nikolay M. (2004-01-15 11:27) [3]
> в параметрах можно только задать условие типа MY_DATE=...,
С чего ты это решил? Попробовать MY_DATE >= :MY_DATE религия не дает?
Что касается сабжа, что мешало в BOL поискать SET DATEFORMAT?
← →
Reindeer Moss Eater (2004-01-15 11:49) [4]Если параметры недопустимы, то используй ODBC-canonical формат
yyyy-mm-dd
← →
paul_k (2004-01-15 11:53) [5]
WHERE MY_DATE=convert(datetime,"23/10/2003",103)
это для указанного формата даты.
подробнее смотреть BOL функцию convert
← →
Stas (2004-01-15 11:54) [6]Может это подойдет ?
http://delphimaster.net/view/3-1074079583/
← →
sniknik (2004-01-15 12:00) [7]ничего не надо, никаких конвертов
SELECT * FROM Orders WHERE OrderDate="19960715"
MSSQL сам справится, yyyymmdd
(это к пример-базе Northwind)
хотя почему параметры не подходят все одно не пойму.
← →
SergSuper (2004-01-15 14:12) [8]вобще язык и настройки задаются в параметрах логина
при добавлении логина это параметр @deflanguage
sp_addlogin [ @loginame = ] "login"
[ , [ @passwd = ] "password" ]
[ , [ @defdb = ] "database" ]
[ , [ @deflanguage = ] "language" ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt = ] "encryption_option"]
Хранятся логины в таблице master..syslogins, туда же записывается и @deflanguage(поле language). По этому language определяется формат даты - по полю dateformat таблицы master..syslanguages.
Еще можно явно задать формат командой SET DATEFORMAT, в данном случае set dateformat dmy
Читайте BOL
← →
Nikolai_S (2004-01-15 14:31) [9]В принципе параметры подойдут, но прога уже написана. Все переделывать долго, а вот формат даты в константе сидит. Его можно быстро изменить, даже вписать в него функцию.
← →
Arm79 (2004-01-15 16:32) [10]Смотри
> Reindeer Moss Eater © (15.01.04 11:49) [4]
и
> sniknik © (15.01.04 12:00) [7]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.028 c