Heim >Datenbank >MySQL-Tutorial >Wie berechnet man das Alter anhand des Geburtsdatums in MySQL?

Wie berechnet man das Alter anhand des Geburtsdatums in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-15 12:30:02308Durchsuche

How to Calculate Age from Date of Birth in MySQL?

Abrufen des Alters aus dem Geburtsdatum in MySQL

Zum Berechnen des Alters eines Kunden basierend auf seinem in einem MySQL-Feld gespeicherten Geburtsdatum , ist es wichtig, das Konzept der Altersberechnung zu berücksichtigen. Das Alter wird durch die Differenz zwischen dem aktuellen Datum und dem Geburtsdatum bestimmt, mit der Einschränkung, dass das Alter um eins verringert werden sollte, wenn das Geburtsdatum im aktuellen Jahr liegt.

Lösung:

Um dies zu erreichen, kann die folgende Abfrage sein beschäftigt:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age

Aufschlüsselung:

  • DATE_FORMAT(NOW(), '%Y'): Ruft das aktuelle Jahr ab.
  • DATE_FORMAT(dob, '%Y'): Ruft die Jahreskomponente aus dem Dob ab Feld.
  • DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d'): Überprüft, ob das aktuelle Jahr den Geburtstag des Kunden bereits überschritten hat, was zu einem booleschen Wert führt (1 für wahr, 0 für falsch).
  • Diesen subtrahieren Der boolesche Wert aus der Jahresdifferenz passt das Alter so an, dass es das aktuelle Alter des genau widerspiegelt Kunde.

Beispiel:

Angenommen, das Feld dob enthält den folgenden Wert: 15.03.1985. Für das aktuelle Datum 28.04.2023 würde die Abfrage das folgende Ergebnis liefern:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
SELECT 2023 - 1985 - (20230428 < 19850315) AS age
SELECT 38 - 0 AS age
age = 38

Daher können Sie mit dieser erweiterten Abfrage das Alter von abrufen einen Kunden basierend auf seinem in einem MySQL-Feld gespeicherten Geburtsdatum mit größerer Genauigkeit.

Das obige ist der detaillierte Inhalt vonWie berechnet man das Alter anhand des Geburtsdatums in MySQL?. 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