字符串转换为SQL Server中的DATETIME

时间:2012-03-15 14:09:00

标签: sql-server sql-server-2005

我需要将字符串转换为datetime。我需要在SQL Server 2005中存储datetime毫秒。

示例:

SELECT CAST('2010-07-28 20:07:25.733000000' AS DATETIME)

当我尝试时,我收到错误,如

  

从字符串转换日期时间

时转换失败

3 个答案:

答案 0 :(得分:3)

你需要截断。

SELECT CONVERT(DATETIME, CONVERT(CHAR(23), '2010-07-28 20:07:25.733000000'));

答案 1 :(得分:2)

(使用舍入),DATETIME中的毫秒范围为0-999,如果使用SQL2K8,则使用DATETIME2可以更精确地使用。

答案 2 :(得分:1)

如果你在毫秒中移除最后一个0:s,这将起作用:

SELECT CAST('2010-07-28 20:07:25:733' AS DATETIME)