我在TSQL中的日期时间转换存在问题(SQL 2005)。我正在尝试将此varchar值“2011-12-10 12:48:56.066
”转换为Datetime但我遇到了问题。 Datetime值更改为“2011-12-10 12:48:56.067
”,与原始值相差一毫秒。这与其他值(例如:“2011-12-10 12:48:56.067
”)有关,但与其他值(“2011-12-10 12:48:56.013
”或“2011-12-10 12:48:56.040
”无关。)
任何人都可以解释为什么毫秒更改将varchar转换为datetime?
答案 0 :(得分:4)
这是由于该决议的代表性。这不是错误。
datetime
类型的分辨率为3.33 ms
[如果您使用的是SQL Server 2008,则可以使用精度高达100 ns的datetime2
。]
答案 1 :(得分:0)
.066实际上是连续数字(0.06666667)。转换后,0.066轮进入0.067