如何根据日期和偏移量删除记录

时间:2009-12-15 16:55:57

标签: sql date

如果当前日期大于记录创建日期+预设天数(由@numberOfDays定义),我需要删除表中的记录。我使用以下SQL语句但不确定它是否非常有效。还有更好的方法吗?

我正在使用MS SQL 2008服务器。

DELETE
FROM deviceManager.Test2
WHERE DATEADD(day, @numberOfDays, deviceManager.Test2.GeneratedAt_UTC) < SYSDATETIMEOFFSET()

@numberOfDays是一个值为10的int

2 个答案:

答案 0 :(得分:1)

可能更好地调整当前日期而不是表格中的每条记录。将逻辑更改为“记录创建日期在当前日期时间之前 - @numberOfDays”。

这更有效 - 一次计算而不是多次计算。

答案 1 :(得分:0)

似乎对我来说,我无法想到一个更好的方法。