requête sql pour obtenir des données pour les 3 derniers mois

Comment obtenir la date d'aujourd'hui et la convertir en 01/mm /yyyy formater et obtenir des données de la table avec le mois de livraison il y a 3 mois? Le tableau contient déjà le mois de livraison comme 01/mm/yyyy.

20
demandé sur Mureinik 2014-02-20 19:26:03

4 réponses

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

la méthode suggérée par Mureinik donnera les mêmes résultats, mais en faisant cela votre requête peut bénéficier de n'importe quel index sur Date_Column.

ou vous pouvez vérifier contre 90 derniers jours.

SELECT * 
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(DAY, -90, GETDATE()) 
58
répondu M.Ali 2017-08-07 06:55:32

les dernières Versions de mysql ne supportent pas DATEADD utilisez plutôt la syntaxe

DATE_ADD(date,INTERVAL expr type)

Pour obtenir les 3 derniers mois d'utilisation des données,

DATE_ADD(NOW(),INTERVAL -90 DAY) 
DATE_ADD(NOW(), INTERVAL -3 MONTH)
8
répondu Mithun Arunan 2016-06-14 06:26:33

j'utilise datediff, et non pas de soins sur les conversions de format:

SELECT *
FROM   mytable
WHERE  DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
6
répondu Mureinik 2014-02-20 15:41:39

3 derniers mois

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

aujourd'Hui

SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)
0
répondu Tom McDonough 2016-09-01 16:06:02