Afficher les données 2 derniers mois transact sql

Résolu
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

  1. Contributeur
    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
    1. 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
      1. Contributeur
        si cela fonctionne, peux-tu marquer le sujet comme résolu, via la roue dentée à droite du titre?
        0