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

Откуда: Мглистые горы
Сообщений: 207
SQL 2012

Запрос:

SELECT бла-бла-бла (NEXT_RUNTIME_TS <= {ts '2017-06-16 09:50:07'}) 


Параметры сессии с Profiler'а:

set quoted_identifier on
set arithabort off
set numeric_roundabort off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set cursor_close_on_commit off
set implicit_transactions on
set language русский
set dateformat ymd
set datefirst 1
set transaction isolation level read committed


И, вы не поверите:

[ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона..
16 июн 17, 13:12    [20569903]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

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

всё правильно: 16-го месяца не бывает!
Надо так:
SELECT бла-бла-бла WHERE NEXT_RUNTIME_TS <= '20170616 09:50:07'
Или так:
SELECT бла-бла-бла WHERE NEXT_RUNTIME_TS <= '2017-06-16Е09:50:07'
16 июн 17, 13:30    [20569981]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
Gollum,

этот запрос профайлером подсмотрен?
16 июн 17, 13:30    [20569984]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
iap
Gollum,

всё правильно: 16-го месяца не бывает!
Надо так:
SELECT бла-бла-бла WHERE NEXT_RUNTIME_TS <= '20170616 09:50:07'

Или так:
SELECT бла-бла-бла WHERE NEXT_RUNTIME_TS <= '2017-06-16Е09:50:07'
Punto Switcher накосячил!
Поправляю:
Или так:
SELECT бла-бла-бла WHERE NEXT_RUNTIME_TS <= '2017-06-16T09:50:07'
16 июн 17, 13:31    [20569989]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
iap,

так у него язык сессии русский и формат {ts ...}, который у меня корректно работает при любом языке подключения.
16 июн 17, 13:32    [20570000]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Gollum
Member

Откуда: Мглистые горы
Сообщений: 207
iap
Gollum,

всё правильно: 16-го месяца не бывает!
Надо так:



set dateformat ymd ?
16 июн 17, 13:33    [20570002]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Gollum
Member

Откуда: Мглистые горы
Сообщений: 207
Владислав Колосов, нет, из лога. В профайлере нет ошибки, видно еще на уровне ODBC отваливается
16 июн 17, 13:33    [20570006]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Gollum
iap
Gollum,

всё правильно: 16-го месяца не бывает!
Надо так:




set dateformat ymd ?
Фуууууу! Какой уродливый костыль!
16 июн 17, 13:37    [20570022]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
Gollum,

значит ваш ODBC драйвер чудит.
16 июн 17, 13:41    [20570038]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Gollum
Member

Откуда: Мглистые горы
Сообщений: 207
iap
set dateformat ymd ?
Фуууууу! Какой уродливый костыль![/quot]

И даже с ним чудо-СУБД не работает
16 июн 17, 13:53    [20570069]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Gollum
iap
set dateformat ymd ?
Фуууууу! Какой уродливый костыль!


И даже с ним чудо-СУБД не работает[/quote]Смотря как и где применять.
16 июн 17, 14:06    [20570092]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Gollum
iap
Gollum
set dateformat ymd ?
Фуууууу! Какой уродливый костыль!


И даже с ним чудо-СУБД не работает
Смотря как и где применять
16 июн 17, 14:08    [20570096]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
Gollum
Member

Откуда: Мглистые горы
Сообщений: 207
Владислав Колосов
Gollum,

значит ваш ODBC драйвер чудит.


Похоже на то.
Поменял тип данных с DateTime на datetime2 - полетело
16 июн 17, 14:11    [20570106]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа данных varchar в тип данных datetime. Опять.  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Gollum
Владислав Колосов
Gollum,

значит ваш ODBC драйвер чудит.


Похоже на то.
Поменял тип данных с DateTime на datetime2 - полетело
Это потому, что для типа DATETIME2, как и для DATE, формат 'YYYY-MM-DD' является стандартным и всегда корректно распознаётся.
16 июн 17, 14:19    [20570141]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить