今日の日付を取得して01/mm /yyyy
形式に変換し、3か月前の配信月でテーブルからデータを取得するにはどうすればよいですか?テーブルにはすでに01/mm/yyyy
として配信月が含まれています。
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(MONTH, -3, GETDATE())
Mureinikの推奨メソッドは同じ結果を返しますが、この方法でクエリを実行すると、Date_Column
。
または、過去90日間を確認できます。
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(DAY, -90, GETDATE())
Mysqlの最新バージョンはDATEADDをサポートせず、代わりに構文を使用します
DATE_ADD(date,INTERVAL expr type)
過去3か月間のデータを取得するには、
DATE_ADD(NOW(),INTERVAL -90 DAY)
DATE_ADD(NOW(), INTERVAL -3 MONTH)
私はdatediff
を使用しますが、フォーマット変換は気にしません:
SELECT *
FROM mytable
WHERE DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
過去3か月
SELECT DATEADD(dd,DATEDIFF(dd,0,DATEADD(mm,-3,GETDATE())),0)
今日
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)