如果当前日期大于记录创建日期+预设天数(由@numberOfDays定义),我需要删除表中的记录。我使用以下SQL语句但不确定它是否非常有效。还有更好的方法吗?
我正在使用MS SQL 2008服务器。
DELETE
FROM deviceManager.Test2
WHERE DATEADD(day, @numberOfDays, deviceManager.Test2.GeneratedAt_UTC) < SYSDATETIMEOFFSET()
@numberOfDays是一个值为10的int
答案 0 :(得分:1)
可能更好地调整当前日期而不是表格中的每条记录。将逻辑更改为“记录创建日期在当前日期时间之前 - @numberOfDays”。
这更有效 - 一次计算而不是多次计算。
答案 1 :(得分:0)
似乎对我来说,我无法想到一个更好的方法。