Afficher les données 2 derniers mois transact sql

Résolu/Fermé
pulls Messages postés 136 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 13 septembre 2023 - Modifié le 13 mars 2018 à 18:33
yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 - 14 mars 2018 à 20:12
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.


A voir également:

2 réponses

yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
Modifié le 13 mars 2018 à 21:16
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())
0
pulls Messages postés 136 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 13 septembre 2023 3
14 mars 2018 à 10:53
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
0
yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
14 mars 2018 à 20:12
si cela fonctionne, peux-tu marquer le sujet comme résolu, via la roue dentée à droite du titre?
0