Comment obtenir la date du jour et la convertir au format 01/mm /yyyy
et obtenir les données de la table avec le mois de livraison d'il y a 3 mois? La table contient déjà le mois de livraison sous la forme 01/mm/yyyy
.
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(MONTH, -3, GETDATE())
La méthode suggérée par Mureinik retournera les mêmes résultats, mais en procédant ainsi, votre requête pourra tirer parti de tous les index sur Date_Column
.
ou vous pouvez vérifier contre 90 derniers jours.
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(DAY, -90, GETDATE())
Les dernières versions de mysql ne supportent pas DATEADD mais utilisent la syntaxe
DATE_ADD(date,INTERVAL expr type)
Pour obtenir les données des 3 derniers mois,
DATE_ADD(NOW(),INTERVAL -90 DAY)
DATE_ADD(NOW(), INTERVAL -3 MONTH)
J'utiliserais datediff
, sans me soucier des conversions de format:
SELECT *
FROM mytable
WHERE DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
3 derniers mois
SELECT DATEADD(dd,DATEDIFF(dd,0,DATEADD(mm,-3,GETDATE())),0)
Aujourd'hui
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)