2013-03-27 48 views
3

我們正嘗試剝離時間過一個DateTime變量:T-SQL日期時間至日期轉換 - 公差

DECLARE @Date DateTime 

SET @Date = '01Jan2013 23:59:59.998' 
PRINT DATEADD(dd, 0, DATEDIFF(dd, 0, @Date)) 

SET @Date = '01Jan2013 23:59:59.999' 
PRINT DATEADD(dd, 0, DATEDIFF(dd, 0, @Date)) 

結果:

2013年1月1日12:00 AM
揚2 2013 12:00:00

爲什麼01Jan2013 23:59:59.999回來爲2月1日而不是1月1日?

回答

4

因爲日期時間類型中沒有.999和.998分之一秒。你只有.990,.993和.997。

因此.998向下取整爲.997,而.999向上取整。 瞭解更多關於類型。

+0

RTFM ...哎呀!謝謝Frikozoid :-) – 2013-03-27 12:37:42