Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
А то я по началу долго не мог вкурить, почему при вводе формата даты копипастом из столбца таблицы, получал
Сообщение 242, уровень 16, состояние 3, строка 2
Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона.

Оказывается надо так, как в аттаче. Почему ?

К сообщению приложен файл. Размер - 64Kb
15 июл 14, 17:02    [16308091]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.sql.ru/faq/faq_topic.aspx?fid=109
15 июл 14, 17:04    [16308105]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
stavgreengo,

потому что ввод даты из строки указанного вида зависит от языка коннекта или от SET DATEFORMAT.
Поэтому в одних случаях 15 - это день, а в других - месяц!
Чтобы не заботиться об этом, следует применять стандартные строковые форматы для дат:
'YYYYMMDD', 'YYYYMMDD hh:mm:ss.nnn', 'YYYY-MM-DDThh:mm:ss.nnn'.
Можно также пользоваться функцией CONVERT с правильно подобранным третьим параметром.
15 июл 14, 17:07    [16308120]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Спасибо. Светлеем)
15 июл 14, 17:27    [16308248]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
'2014-12-31' - это не формат даты, это текстовое представление даты. Даты хранятся на сервере в двоичном виде.
Про обработке необходимо преобразовать строку к типу даты.
16 июл 14, 11:55    [16311294]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Владислав Колосов
Даты хранятся на сервере в двоичном виде.
Строго говоря, строки тоже :))
16 июл 14, 12:48    [16311808]     Ответить | Цитировать Сообщить модератору
 Re: Объясните почему формат дат в запросе и хранящийся в таблице разный ?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
iap, это логично
16 июл 14, 13:17    [16312045]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить