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

kac*_*apy 6 datediff sql-server-2005 sql-delete

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

我试图删除[ LoadDt]日期值超过3天的记录,我的代码是:

delete IntraDayStats
where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate()) ) >= 3 
Run Code Online (Sandbox Code Playgroud)

我想将此作为一个SQL作业安排,以便我的IntraDayStats表有一个滚动的3天历史.这项工作将每晚进行.

SQL*_*ace 9

where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate()) ) >= 3 
Run Code Online (Sandbox Code Playgroud)

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

where LoadDt < getdate()- 3 
Run Code Online (Sandbox Code Playgroud)

下次如果你想检查,做DELETE一个SELECT,看看你得到了什么