Arithmetic overflow error converting expression to data type datetime (Int64 to datetime)

China☆狼群 提交于 2019-12-12 19:22:06

问题


Trying

SELECT convert(datetime, 20120825142616 , 120) AS time

Running into exception

Arithmetic overflow error converting expression to data type datetime.

The value '20120825142616 ' is of type 'Int64' passed as parameter to a .Net SqlCommand object.

Any help is appreciated


回答1:


If you place your data in single quote then you will not get arithmetic flow error

SELECT convert(datetime, '20120825142616' , 120) AS [time]

but you will got an error:

Conversion failed when converting date and/or time from character string.

I thought the format is not right. If I only place date it works. like

SELECT convert(datetime, '20120825' , 120) AS [time]
-- output
2012-08-25 00:00:00.000

and If I place date in this format it works

SELECT convert(datetime, '2012-08-25 14:26:16' , 120) AS [time]
-- output
2012-08-25 14:26:16.000


来源:https://stackoverflow.com/questions/12124716/arithmetic-overflow-error-converting-expression-to-data-type-datetime-int64-to

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!