SQL Server T-Sql将filetime转换为datetime

时间:2009-12-07 15:31:28

标签: tsql

我需要通过SQL Server中的t-sql将filetime字段值转换为datetime格式

我已经应用了以下公式来完成正值(> 0)。但不知何故,这个公式对负值不起作用,它返回空值。

SELECT LastModifiedTime,
       CASE WHEN LastModifiedTime <= 1 THEN NULL
       ELSE DATEADD(ms,
                    ((LastModifiedTime) / CAST(10000 AS bigint)) % 86400000,
                    DATEADD(day, (LastModifiedTime) / CAST(864000000000 AS bigint) - 109207, 0))
       END AS Expr1
FROM TableName

我尝试的样本值是:

  • -9094352270227314699 (不起作用的负值)
  • 129046581660000000 (正值有效)

1 个答案:

答案 0 :(得分:1)

当LastModifiedTime&lt; = 1 THEN NULL

时的情况

它正在做你告诉它要做的事。