Heim > Datenbank > MySQL-Tutorial > Wie kann ich das Alter eines Kunden anhand seines Geburtsdatums in MySQL genau berechnen?

Wie kann ich das Alter eines Kunden anhand seines Geburtsdatums in MySQL genau berechnen?

Linda Hamilton
Freigeben: 2024-11-16 14:32:03
Original
1061 Leute haben es durchsucht

How Can I Accurately Calculate a Customer's Age from Their DOB in MySQL?

Bestimmung des Alters anhand des Geburtsdatums in MySQL

Um das Alter eines Kunden anhand seines in MySQL gespeicherten Geburtsdatums (DOB) zu ermitteln Datenbank steht man vor der Herausforderung, das Alter genau zu berechnen. Auch wenn einem zunächst Versuche mit DATEDIFF(year, customer.dob, „2010-01-01“) in den Sinn kommen, liefern sie möglicherweise nicht die erwarteten Ergebnisse.

Genaue Altersberechnung

Um diese Sackgasse zu überwinden, ist ein verfeinerter Ansatz erforderlich, der nicht nur den Unterschied in den Jahren zwischen dem aktuellen Jahr und dem Geburtsjahr des Kunden berücksichtigt, sondern auch die Auswirkungen potenzieller, sich nicht überschneidender Geburtsdaten in einem bestimmten Jahr.

MySQL-Abfrage

Die folgende MySQL-Abfrage erfasst die komplizierten Details der Altersberechnung:

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

Wie es funktioniert:

  1. Jahresdifferenz: Der Ausdruck DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') berechnet die Differenz zwischen dem aktuellen Jahr und das Geburtsjahr des Kunden.
  2. Anpassung des Geburtsdatums: Der nachfolgende Begriff (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00- %m-%d')) ermittelt die relative Position des aktuellen Datums und des Geburtsdatums des Kunden innerhalb des Kalenderjahres. Wenn das Geburtsdatum am oder nach dem aktuellen Datum liegt, bedeutet dies, dass das aktuelle Jahr bereits begonnen hat, das Alter des Kunden zu erhöhen, sodass ein Wert von 1 abgezogen wird.

Beispielberechnungen

  • Für einen Kunden, der am 1. Januar 1990 geboren wurde und das aktuelle Datum der 15. März 2023 ist, würde die Abfrage ein Alter von 33 Jahren ergeben.
  • Umgekehrt, wenn der Da der Geburtstag des Kunden der 1. Juli 1990 war, würde die Abfrage ein Alter von 32 Jahren zurückgeben, da der 1. Juli im Jahr 2023 noch nicht stattgefunden hat.

Schlussfolgerung

Dies Die umfassende MySQL-Abfrage berücksichtigt die komplizierten Überlegungen, die bei der genauen Altersberechnung anhand des Geburtsdatums erforderlich sind, indem die Auswirkungen unterschiedlicher Geburtsdaten und Kalenderjahresverläufe berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich das Alter eines Kunden anhand seines Geburtsdatums in MySQL genau berechnen?. 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