2009-12-15 85 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似乎確定對我來說,我想不出更好的辦法了我的頭頂。