Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Monatsdifferenz zwischen zwei Daten in MySQL genau berechnen?

Wie kann ich die Monatsdifferenz zwischen zwei Daten in MySQL genau berechnen?

Susan Sarandon
Susan SarandonOriginal
2024-12-01 14:32:14358Durchsuche

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

Berechnen der Monatsdifferenz zwischen Datumsangaben in MySQL

MySQL bietet eine übersichtliche Lösung zum Berechnen der Anzahl der Monate zwischen zwei Datumsangaben mit TIMESTAMPDIFF() Funktion. Im Gegensatz zur Division von Zeitstempeln durch eine Näherung für die Anzahl der Sekunden in einem Monat liefert die Verwendung von TIMESTAMPDIFF() genaue Ergebnisse, indem Variationen in Monatslängen und Schaltjahren berücksichtigt werden.

Monatsdifferenz ohne Präzision

Um die Anzahl der zwischen zwei Daten verstrichenen Monate ohne Dezimalgenauigkeit zu ermitteln, verwenden Sie Folgendes Syntax:

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

Dieser Ausdruck gibt direkt die Anzahl der vollständigen Monate zwischen dem Start- und Enddatum zurück.

Monatsdifferenz mit Präzision

Für genaue Monatsdifferenzberechnungen, einschließlich Dezimalwerten zur Berücksichtigung von Teilmonaten, verwenden Sie diese Option Formel:

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
  )

Diese komplexere Formel berechnet die Differenz in Monaten präzise und gibt Werte wie 0,7097 für eine Differenz von 27 Tagen zwischen „2012-05-05“ und „2012-05-27“ zurück. .

Das obige ist der detaillierte Inhalt vonWie kann ich die Monatsdifferenz zwischen zwei Daten in MySQL genau berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn