Berechnung des Alters als Ganzzahl in MySQL
Bei der Bestimmung des Alters einer Person anhand ihres in einer MySQL-Datenbank gespeicherten Geburtsdatums wird die Die von der Funktion DATEDIFF() bereitgestellte Differenz in Tagen reicht nicht aus, um eine genaue Ganzzahldarstellung zu liefern. Um diese Herausforderung zu meistern, ist ein mehrstufiger Ansatz erforderlich.
Schritt 1: Berechnen Sie die Jahre
Der Ausdruck YEAR(CURDATE()) - YEAR(birth_date) ergibt die Differenz in Jahren zwischen dem aktuellen Datum und dem Geburtsdatum. Dieser Ansatz berücksichtigt jedoch keine unvollständigen Jahre. Wenn das aktuelle Datum beispielsweise Mai ist, das Geburtsdatum jedoch Juni, ist das Alter der Person immer noch 31.
Schritt 2: Korrigieren unvollständiger Jahre
Ansprechen Bei unvollständigen Jahresangaben kann die folgende Unterabfrage verwendet werden:
(SELECT FLOOR((DAYOFYEAR(CURDATE()) - DAYOFYEAR(birth_date)) / 365.25))
Diese Unterabfrage berechnet die Anzahl der Jahre und Tage, die seit dem Geburtsdatum der Person vergangen sind, unter Berücksichtigung von Schaltjahren.
Schritt 3: Ergebnisse kombinieren
Der letzte Ausdruck zur Berechnung des Alters als Ganzzahl lautet:
(YEAR(CURDATE()) - YEAR(birth_date)) - (SELECT FLOOR((DAYOFYEAR(CURDATE()) - DAYOFYEAR(birth_date)) / 365.25))
Dieser Ausdruck subtrahiert die unvollständigen Jahre von der Gesamtzahl der Jahre, die sich ergibt in einer Ganzzahl, die das Alter der Person darstellt.
Alternative Lösung
Eine weitere Option zur Berechnung des Alters als Ganzzahl in MySQL ist die Verwendung der Funktion TIMESTAMPDIFF():
SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student
Diese Funktion berechnet direkt die Differenz in Jahren zwischen zwei Zeitstempeln und vermeidet so komplexe Berechnungen. Es kann auch zur Berechnung von Differenzen in Monaten oder Tagen verwendet werden, indem JAHR durch MONAT oder TAG ersetzt wird.
Das obige ist der detaillierte Inhalt vonWie berechnet man das Alter als Ganzzahl in MySQL genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!