Ermitteln Sie die Differenz in Jahren zwischen zwei Daten in MySQL als Ganzzahl

Ich versuche zu berechnen, wie alt eine Person in einer Datenbank ist.
Nehmen wir an, wir haben diese einfache Tabelle:

<code>student(id, birth_date);
</code>

Wobei id der Primärschlüssel ist (die Tabelle ist wirklich komplexer, aber ich habe sie vereinfacht).
Ich möchte erfahren, wie alt eine einzelne Person ist:

<code>select id, datediff(curdate(),birth_date) 
from student
</code>

Aber es gibt ein Ergebnis in Tagen und nicht in Jahren zurück. Ich könnte es durch 365 teilen:

<code>select id, datediff(curdate(),birth_date) / 365
from student
</code>

Es wird jedoch ein Gleitkommawert zurückgegeben, und ich möchte eine Ganzzahl.
So konnte ich die Jahre berechnen:

<code>select id, year(curdate())-year(birth_date) 
from student
</code>

Aber es gibt ein Problem: Zum Beispiel ist jetzt Mai, wenn eine Person, die im Juni 1970 geboren wurde, noch 31 Jahre und nicht 32 Jahre alt ist, aber der Ausdruck gibt 32 zurück.
Ich kann dieses Problem nicht lösen, kann mir jemand helfen?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage