为什么
SELECT CAST('2014-11-28 15:06:02.165' AS DATETIME)
Run Code Online (Sandbox Code Playgroud)
返回:
2014-11-28 15:06:02.167
Run Code Online (Sandbox Code Playgroud)
DateTime 精度为 0.00333(1/300) 秒,因此 sql server 将值四舍五入到最接近的 1/300。
如果您使用上面的 SQL Server 2008,请使用DateTime2,它可以具有毫秒级的精度,甚至可以低至 100 纳秒,并且可以保存准确的值。
SELECT CAST('2014-11-28 15:06:02.165' AS DATETIME2(3));
Run Code Online (Sandbox Code Playgroud)