将表达式转换为数据类型datetime(Int64到datetime)的算术溢出错误

时间:2012-08-25 18:45:38

标签: sql-server sql-server-2008-r2

尝试

SELECT convert(datetime, 20120825142616 , 120) AS time

遇到异常

将表达式转换为数据类型datetime的算术溢出错误。

值'20120825142616'的类型为'Int64 '作为参数传递给.Net SqlCommand对象。

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

如果您将数据放在单引号中,则不会出现算术流错误

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

但是你会收到一个错误:

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

我认为格式不对。如果我只将日期设置为有效。像

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

如果我以此格式发布日期,则可以使用

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