DELETE from Table WHERE Date > GETDATE();
GETDATE()包含时间。而不是得到
2011-01-26 14:58:21.637
我怎样才能得到:
2011-01-26 00:00:00.000
对SQL Server的偏见
概括
DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
SQL Server 2008具有date类型。所以就用
date
CAST(GETDATE() AS DATE)
编辑:要添加一天,请与“零”之前的一天进行比较
DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)
从网络猕猴桃:
一个不涉及2个功能的替代方法是(+1可以在方括号内或方括号内)。
DATEDIFF(DAY, 0, GETDATE() +1)
DateDiff 返回一个数字,但出于所有目的,无论您打算使用该表达式如何,它都将作为日期,除了将其直接转换为VARCHAR之外- 在这种情况下,您将直接在GETDATE()上使用CONVERT方法,例如
DateDiff
convert(varchar, GETDATE() +1, 102)