web-dev-qa-db-de.com

sQL-Abfrage zum Abrufen von Daten für die letzten 3 Monate

Wie können Sie das heutige Datum ermitteln und in das 01/mm /yyyy-Format konvertieren und Daten aus der Tabelle mit dem Liefermonat vor 3 Monaten erhalten? Die Tabelle enthält bereits den Liefermonat als 01/mm/yyyy.

23
user88866050
SELECT * 
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(MONTH, -3, GETDATE()) 

Die von Mureinik vorgeschlagene Methode liefert die gleichen Ergebnisse, aber wenn Sie dies tun, kann Ihre Abfrage von allen Indizes in Date_Column profitieren.

oder Sie können die letzten 90 Tage überprüfen. 

SELECT * 
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(DAY, -90, GETDATE()) 
60
M.Ali

Neueste Versionen von mysql unterstützen nicht DATEADD, sondern verwenden die Syntax

DATE_ADD(date,INTERVAL expr type)

Um die letzten 3 Monate Datennutzung zu erhalten, 

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

Ich würde datediff verwenden und sich nicht um Formatkonvertierungen kümmern:

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

Letzte 3 Monate

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

Heute

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