Calcul de mois

galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   -  
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   -
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.


A voir également:

5 réponses

blux Messages postés 27141 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

des précisions sur le langage/logiciel utilisé ?
0
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   80
 
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
0
flokocha Messages postés 1510 Date d'inscription   Statut Membre Dernière intervention   281
 
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.
0
blux Messages postés 27141 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   80
 
oui !
Vos deux réponses me vont !Actuellement je ne peux pas tester, mais vu les docs c'est super !

blux, pour la doc mysql, j'avais longuement réfléchi la-dessus : https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

Mais bizarrement, je suis toujours passé à côté de PERIOD_DIFF

C'est de ma faute

Merci
A bientôt
0