2017-10-06 20 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()を使用できます。

関連する問題