2016-03-09 2 views
0
select CONVERT(date,d) as dateX 
from dates 
where d >= '2008-01-01' and d< '2079-12-31' 

CAST(d as DATE) вызвал ту же ошибку.SQL Server: преобразование даты и времени

Где d - тип smalldatetime в измерении дат одного столбца.

Преобразование типа данных varchar в тип данных smalldatetime приводит к значению вне диапазона.

ответ

7

Smalldatetimedocumented имеет диапазон между 1900-01-01 и «2079-06-06».

Следовательно, ваше значение выходит за пределы допустимого диапазона.

Используйте datetime или datetime2 или максимальное значение в диапазоне - скажем '2078-12-31'.

+0

или '2078-12-31' будет работать – Hogan

+0

Имеют смысл. Спасибо –

+0

немного поздно, но лучше, чем никогда, чтобы узнать, как запросить мои собственные вопросы. благодаря –

Смежные вопросы