Maison >base de données >tutoriel mysql >Comment puis-je calculer avec précision la différence mensuelle entre deux dates dans MySQL ?

Comment puis-je calculer avec précision la différence mensuelle entre deux dates dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 14:32:14435parcourir

How Can I Accurately Calculate the Month Difference Between Two Dates in MySQL?

Calcul de la différence de mois entre les dates dans MySQL

MySQL fournit une solution concise pour calculer le nombre de mois entre deux dates avec le Fonction TIMESTAMPDIFF(). Contrairement à la division des horodatages par une approximation du nombre de secondes dans un mois, l'utilisation de TIMESTAMPDIFF() donne des résultats précis en prenant en compte les variations de la durée des mois et des années bissextiles.

Différence de mois sans précision

Pour obtenir le nombre de mois écoulés entre deux dates sans précision décimale, utilisez la méthode suivante syntaxe :

TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')

Cette expression renvoie directement le nombre de mois complets entre les dates de début et de fin.

Différence mensuelle avec précision

Pour des calculs précis de différence mensuelle, y compris des valeurs décimales pour tenir compte de mois partiels, utilisez ceci formule :

TIMESTAMPDIFF(MONTH, startdate, enddate) +
DATEDIFF(
    enddate,
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate)
    MONTH
  ) /
  DATEDIFF(
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate) + 1
    MONTH,
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate)
    MONTH
  )

Cette formule plus complexe calcule la différence en mois avec précision, renvoyant des valeurs telles que 0,7097 pour une différence de 27 jours entre le « 05-05-2012 » et le « 27-05-2012 ». .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn