Heim > Datenbank > MySQL-Tutorial > Wie berechnet man das Alter als Ganzzahl in MySQL genau?

Wie berechnet man das Alter als Ganzzahl in MySQL genau?

Barbara Streisand
Freigeben: 2024-10-28 19:49:02
Original
995 Leute haben es durchsucht

 How to Accurately Calculate Age as an Integer in MySQL?

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))
Nach dem Login kopieren

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))
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage