Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
PZH
Member

Откуда:
Сообщений: 57
Такой, например, код работает на SQL 2000

declare @dt datetime

set @dt = '2014-16-04 00:00:00.000';


Но такой-же код не работает на SQL 2005. Намекая, что нужно указывать дату в формате YYYY-MM-DD.
Это как-то в настройках сервера регулируется? Ну можно как-то заставить его корректно сожрать такой код?
16 апр 14, 16:50    [15891994]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
хмхмхм
Guest
PZH,

SET Dateformat:
http://technet.microsoft.com/ru-ru/library/ms189491(v=sql.90).aspx
16 апр 14, 16:53    [15892024]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.sql.ru/faq/faq_topic.aspx?fid=109
16 апр 14, 16:54    [15892028]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
PZH
Такой, например, код работает на SQL 2000

declare @dt datetime

set @dt = '2014-16-04 00:00:00.000';



Но такой-же код не работает на SQL 2005. Намекая, что нужно указывать дату в формате YYYY-MM-DD.
Это как-то в настройках сервера регулируется? Ну можно как-то заставить его корректно сожрать такой код?
Поэтому этот код можно назвать "говнокодом".
Надо пользоваться одним из стандартных форматов:
YYYYMMDD hh:mm:ss.nnn
YYYY-MM-DDThh:mm:ss.nnn
и т.п.
Они ни от чего не зависят. Инвариантны, так сказать.
16 апр 14, 16:54    [15892032]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
PZH
Member

Откуда:
Сообщений: 57
хмхмхм, а какой мне толк использовать SET Dateformat? Если лезть в код, то лучше уж воспользоваться советом iap.
Он же для текущей сессии. Или его как-то для любой по дефолту можно сделать?
16 апр 14, 17:18    [15892188]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
PZH
хмхмхм, а какой мне толк использовать SET Dateformat? Если лезть в код, то лучше уж воспользоваться советом iap.
Он же для текущей сессии. Или его как-то для любой по дефолту можно сделать?
Можно ещё задавать формат даты в строке, явно задавая третий параметр в вызове функции CONVERT().
По мне так формат без разделителей лучше.
16 апр 14, 17:20    [15892205]     Ответить | Цитировать Сообщить модератору
 Re: Datetime проблема форматов YYYY-MM-DD и YYYY-DD-MM  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
Кстати говоря, для типа DATE инвариантным сделали ещё и формат YYYY-MM-DD
16 апр 14, 17:21    [15892214]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить