Heim >Datenbank >MySQL-Tutorial >Wie berechnet man den Altersunterschied in Jahren als Ganzzahl 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!