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

Откуда:
Сообщений: 162
Дата хранится в формате YYYY-MM-DD + поле времени в виде строки. Надо преобразовать. Ставлю SET DATEFORMAT YMD; далее
CONVERT(datetime, date + 'T' + time) работает.
Но эта строчка нет YEAR(CONVERT(datetime, date + 'T00:00')) возвращает "Ошибка преобразования даты или времени из символьной строки."
Куда смотреть?
29 июн 16, 16:16    [19350781]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование строки в дату  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
YEAR(CONVERT(datetime, date + 'T00:00:00.000'))
??
Или ещё проще:
CAST(LEFT([date],4) AS INT)
29 июн 16, 16:25    [19350846]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование строки в дату  [new]
ErikI
Member

Откуда:
Сообщений: 162
Все работает. Благодарю.
29 июн 16, 16:34    [19350908]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование строки в дату  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
ErikI
Все работает. Благодарю.
Заметьте, нигде здесь SET DATEFORMAT не используется.
29 июн 16, 16:39    [19350938]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить