在WHERE子句条件中使用DATEDIFF

时间:2014-07-02 06:23:53

标签: sql sql-server

我在SQL中有这个查询

WHERE DATEDIFF(DD,[fld_DateResolved],GETDATE()) > 3

我想要做的是,在我的系统中3天后关闭门票,我的问题是,这是查询以检查DateResolved和GetDate的DATEDIFF是否大于3的正确方法吗?

由于

1 个答案:

答案 0 :(得分:8)

将其设为S'argable(这意味着如果存在,可以使用适当的索引):

WHERE [fld_DateResolved] <= DATEADD(Day, -3, CAST(GETDATE() as Date))

[更新:向Date添加了强制转换,假定您使用的是SQL Server 2008 +]