Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在WHERE子句条件中使用DATEDIFF_Sql_Sql Server - Fatal编程技术网

Sql 在WHERE子句条件中使用DATEDIFF

Sql 在WHERE子句条件中使用DATEDIFF,sql,sql-server,Sql,Sql Server,我在SQL中有这个查询 WHERE DATEDIFF(DD,[fld_DateResolved],GETDATE()) > 3 我想做的是,在我的系统中3天后关闭票据,我的问题是,这是检查DateResolved和GetDate的DATEDIFF是否大于3的正确查询方式吗 感谢使其成为可论证的(这意味着如果存在,可以使用适当的索引): WHERE[fld_DateResolved]使其可参数化(这意味着如果存在适当的索引,则可以使用该索引): WHERE[fld_DateResolved

我在SQL中有这个查询

WHERE DATEDIFF(DD,[fld_DateResolved],GETDATE()) > 3
我想做的是,在我的系统中3天后关闭票据,我的问题是,这是检查DateResolved和GetDate的DATEDIFF是否大于3的正确查询方式吗

感谢

使其成为可论证的(这意味着如果存在,可以使用适当的索引):

WHERE[fld_DateResolved]使其可参数化(这意味着如果存在适当的索引,则可以使用该索引):


WHERE[fld_DateResolved]现在它得到了3天后不应该关闭的票子。我想你打算
DATEADD
在这里,而不是
DATEDIFF
。混蛋!谢谢。!。。。更新。我正忙着和老板说话,分心了!:)谢谢,我想它成功了,我希望!但是我得到了我想要的结果,现在它得到了3天后不应该关闭的票。我想你是想在这里
DATEADD
,而不是
DATEDIFF
。混蛋!谢谢。!。。。更新。我正忙着和老板说话,分心了!:)谢谢,我想它成功了,我希望!但是我得到了我想要的结果,你的方法非常正确。超过3天还是超过72小时?如果是3天,我建议使用@MitchWheat的方法,并使用CAST(GETDATE()作为DATE)对其进行修改。没关系,只是现在你已经破坏了在列上使用索引的机会。这可能不是你想要的。是的,你的方法非常正确。超过3天还是超过72小时?如果是3天,我建议使用@MitchWheat的方法,并使用CAST(GETDATE()作为DATE)对其进行修改。没关系,只是现在你已经破坏了在列上使用索引的机会。这可能不是你想要的。
WHERE [fld_DateResolved] <= DATEADD(Day, -3, CAST(GETDATE() as Date))