2009-12-15 111 views
0

如果当前日期大于记录创建日期+预设天数(由@numberOfDays定义),我需要删除表中的记录。我正在使用以下SQL语句,但不确定它是否非常有效。有没有更好的办法?如何根据日期和偏移量删除记录

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

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

@numberOfDays是一个以10

回答

0

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

这是更高效的 - 一个计算,而不是很多。

+0

你能告诉我如何在一天内投入整数,以便我可以执行当前的日期时间 - 天数? – Retrocoder

+0

尝试'天 eswald

0

值的int似乎确定对我来说,我想不出更好的办法了我的头顶。