删除日期超过3天的记录,滚动3天的工作?

时间:2011-01-03 14:52:25

标签: sql-server-2005 datediff sql-delete

在执行敏感的sql命令之前,我想进行一次健全性检查。

我正在尝试删除[{LoadDt]日期值超过3天的记录,而我的代码是:

delete IntraDayStats
where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate()) ) >= 3 

我想将此作为sql作业安排,以便我的IntraDayStats表具有滚动的3天历史记录。这项工作将每晚进行。

1 个答案:

答案 0 :(得分:9)

where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate()) ) >= 3 

不是sargable(不会使用索引),请使用

where LoadDt < getdate()- 3 

下次如果您想查看,请将DELETE设为SELECT并查看您的回复