Calcul de mois

Bonjour,
J'essaie de calculer la différence entre deux dates, mais je veux le résultat en mois. Par exemple, je veux calculer le nombre de mois entre le 25/02/2006 et le 13/05/2011.

J'ai déjà calculé des ages, ce qui me fait jouer avec les années uniquement, mais quand il est question d'avoir le résultat en mois, je bloque.

J'ai tenté

DATE_FORMAT(curdate()-i.buy_date,'%m')


mais ça ne me donne rien de cohérent.

5 réponses

  1. Modérateur
    Salut,

    des précisions sur le langage/logiciel utilisé ?
    1. Oups oui pardon, j'ai oublié
      C'est simplement en SQL pour une base Mysql.

      La question est toujours d'actualité...

      merci d'avoir répondu
      1. Tu peux utiliser la fonction DATEDIFF() qui te donnera la différence en jours, et diviser ensuite le résultat par le nombre moyen de jours par mois, soit 30,4375.
        1. Modérateur
          Une recherche sur la doc mysql donne une réponse satisfaisante :

          PERIOD_DIFF(P1,P2)

          Retourne le nombre de mois entre les périodes P1 et P2. P1 et P2 doivent être au format YYMM ou YYYYMM.