30 日以上経過した行を削除するには、SQL ステートメントが必要です。
私のテーブルには、データベースに挿入された日付と時刻を含むevents
フィールドがあります。date
これは機能しますか?
SELECT * from Results WHERE [Date] >= DATEADD(d, -30, getdate())
30 日以上経過した行を削除するには、SQL ステートメントが必要です。
私のテーブルには、データベースに挿入された日付と時刻を含むevents
フィールドがあります。date
これは機能しますか?
SELECT * from Results WHERE [Date] >= DATEADD(d, -30, getdate())
これはおそらく最も透明性の高い方法ですが、単純な方法でも十分DATEADD
であることは注目に値します。getdate()-30
また、今から 30 日後、つまり時間、分、秒などを探していますか? または、今日の午前 0 時から 30 日 (例: 12/06/2010 00:00:00.000)。その場合、次のことを検討してください。
SELECT *
FROM Results
WHERE convert(varchar(8), [Date], 112) >= convert(varchar(8), getdate(), 112)
2 つの日付の間で設定することもできます。
Delete From tblAudit
WHERE Date_dat < DATEADD(day, -360, GETDATE())
GO
Delete From tblAudit
WHERE Date_dat > DATEADD(day, -60, GETDATE())
GO
GETDATE()
mySQL 8 を使用するとうまくいきませんでした
エラー 1305 (42000): FUNCTION mydatabase.GETDATE が存在しません
しかし、これは:
DELETE FROM table_name WHERE date_column < CURRENT_DATE - 30;