Heim >Datenbank >MySQL-Tutorial >Wie berechnet man den Altersunterschied in Jahren als Ganzzahl in MySQL?

Wie berechnet man den Altersunterschied in Jahren als Ganzzahl in MySQL?

DDD
DDDOriginal
2024-10-29 18:10:50496Durchsuche

 How to Calculate Age Difference in Years as an Integer in MySQL?

Berechnung des Altersunterschieds in Jahren als ganze Zahl in MySQL

Die Bestimmung des Alters einer Person in einer Datenbank stellt bei Altersberechnungen eine leichte Herausforderung dar . Betrachten Sie die Tabelle „Student“ mit den Spalten „id“ und „birth_date“.

Um das Alter in Tagen zu berechnen, kann der Ausdruck „datediff(curdate(),birth_date)“ verwendet werden, dieser gibt jedoch einen Gleitkommawert zurück . Eine Division durch 365 ergibt ebenfalls einen Gleitkommawert.

Die Berechnung von Jahren als Jahr(curdate())-Jahr(Geburtsdatum) führt ebenfalls zu einem Problem. Wenn eine Person beispielsweise im Juni 1970 geboren wurde und das aktuelle Datum im Mai liegt, würde der Ausdruck fälschlicherweise 32 Jahre statt 31 zurückgeben.

Alternative Lösung für die Differenz ganzzahliger Jahre:

Um dieses Problem zu beheben, betrachten Sie die folgende SQL-Anweisung:

<code class="sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student</code>

Dieser Ausdruck berechnet die Differenz zwischen „Geburtsdatum“ und „CURDATE()“ in Jahren, was zu einem ganzzahligen Wert führt.

Erweiterung für Monate und Tage:

Um die Differenz in Monaten zu berechnen, ersetzen Sie „JAHR“ durch „MONAT“ im Ausdruck:

<code class="sql">SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student</code>

Ähnlicherweise ersetzen Sie für die Differenz in Tagen „JAHR“ durch „TAG“:

<code class="sql">SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student</code>

Das obige ist der detaillierte Inhalt vonWie berechnet man den Altersunterschied in Jahren als Ganzzahl 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