web-dev-qa-db-ja.com

過去3か月間のデータを取得するためのSQLクエリ

今日の日付を取得して01/mm /yyyy形式に変換し、3か月前の配信月でテーブルからデータを取得するにはどうすればよいですか?テーブルにはすでに01/mm/yyyyとして配信月が含まれています。

23
user88866050
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()) 
68
M.Ali

Mysqlの最新バージョンはDATEADDをサポートせず、代わりに構文を使用します

DATE_ADD(date,INTERVAL expr type)

過去3か月間のデータを取得するには、

DATE_ADD(NOW(),INTERVAL -90 DAY) 
DATE_ADD(NOW(), INTERVAL -3 MONTH)
11
Mithun Arunan

私はdatediffを使用しますが、フォーマット変換は気にしません:

SELECT *
FROM   mytable
WHERE  DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
6
Mureinik

過去3か月

SELECT DATEADD(dd,DATEDIFF(dd,0,DATEADD(mm,-3,GETDATE())),0)

今日

SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)
0
Tom McDonough