解决方案
SELECT CAST(FLOOR(CAST(getdate() as FLOAT)) as DATETIME)
CAST
-FLOOR
-CAST
似乎已经是最佳方法,至少在MS SQL Server 2005上是如此。
SQL Server 2008具有新的日期数据类型,这可将问题简化为:
SELECT CAST(CAST(GETDATE() AS date) AS datetime)
其他方法:
SELECT CAST(CONVERT(char(8), GETDATE(), 112) AS datetime) 最慢 SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) SELECT CAST(CAST(GETDATE() - 0.50000004 AS int) AS datetime) 最快
日期:2020-03-24 13:11:21 来源:oir作者:oir