2
我試圖掙扎圓的日期了,說:圓了一個DATETIME到午夜
2011-08-26 11:33:21.653
要:
2011-08-26 23:59:59.999
它只需要四捨五入到午夜,減一微秒。我能找到的所有舍入函數似乎只是整數或浮點值。
我試圖掙扎圓的日期了,說:圓了一個DATETIME到午夜
2011-08-26 11:33:21.653
要:
2011-08-26 23:59:59.999
它只需要四捨五入到午夜,減一微秒。我能找到的所有舍入函數似乎只是整數或浮點值。
四捨五入今天的日期到3毫秒午夜前的今天:
select DATEADD(day,DATEDIFF(day,'20010101',CURRENT_TIMESTAMP),'2001-01-01T23:59:59.997')
(或者一列,變量等,代替別的東西CURRENT_TIMESTAMP)
注意,日期時間精確到3.33毫秒( 1/300)
DATEADD(millisecond, -3, DATEADD(day, DATEDIFF(day, 0, '2011-08-26 11:33:21.653'), 1))
注意,如果這是一個範圍查詢,那麼通常你做到這一點:
DateCol >= '20110826' AND DateCol < '20110827'
...不是這些
DateCol >= '20110826' AND DateCol <= '2011-08-26 23:59:59.997'
DateCol BETWEEN '20110826' AND '2011-08-26 23:59:59.997'