2017-10-06 28 views
-2

我有一個要求從SQL Server數據庫中定期清理數據(理想情況下每月)的請求。數據庫本身不再附加到應用程序層,而是純粹用於報告。創建批量SQL以基於日期清除數據

我確定了我想使用的列,日期格式爲'YYYY-DD-MM HH:MM:SS.xxx'。

但是,我想包含在一個批處理腳本,所以我可以執行此任務調度程序沒有用戶輸入。

最終的結果會是這樣的:

DELETE FROM [TABLE] 
WHERE [DATE OPEN] <= (today's date, minus 6 years) 

有沒有一種方法,我可以做到這一點?

感謝

回答

0

您可以使用DATEADD。

--SELECT Query to check records first. 
SELECT * FROM [TABLE] WHERE [DATE OPEN] <= DATEADD(year,-6,GETDATE()) 

--DELETE Query to actually check records. 
DELETE FROM [TABLE] WHERE [DATE OPEN] <= DATEADD(year,-6,GETDATE()) 
+0

非常感謝你這個作品完美 –

0

您可以使用GETDATE()爲今天的日期。