Afficher les données 2 derniers mois transact sql [Résolu/Fermé]

Signaler
Messages postés
131
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
24 mars 2020
-
Messages postés
16027
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
-
Bonjour,

je voudrais afficher les données du mois en cours et du mois passé, avec transact SQL. J'ai procédé ainsi:


SELECT *
FROM matable
WHERE month(madate) >= (month(getdate()))


Les données s'affichent bien entre février et décembre; mais à partir de janvier , les données de décembre de l'année antérieure ne s'affichent pas. Je tourne en rond depuis près d'une heure pour corriger ces codes en vain. Je vous prie de m'aider à régler ce problème.

cordialement.


2 réponses

Messages postés
16027
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
bonsoir,
si tu souhaites comprendre, je te suggère de faire ceci:
SELECT year(madate), month(madate), year(getdate()), month(getdate()) 
FROM matable

ensuite, peut-être essayer ainsi:
WHERE 12*year(madate) + month(madate) >= 12*year(getdate()) + month(getdate())
Messages postés
131
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
24 mars 2020
3
Merci,
j'ai plutôt écrit :

SELECT *
FROM matable
WHERE madate >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0) -- premier_jour_du_mois_precedent


Cordialement
Messages postés
16027
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
si cela fonctionne, peux-tu marquer le sujet comme résolu, via la roue dentée à droite du titre?