Uzyskaj różnicę w latach między dwiema datami w MySQL jako liczbę całkowitą

Próbuję obliczyć, ile lat ma osoba w bazie danych.
Załóżmy, że mamy tę prostą tabelę:

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

Gdzie id jest kluczem podstawowym (naprawdę tabela jest bardziej złożona, ale ją uprościłem).
Chcę wiedzieć, ile lat ma jedna osoba:

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

Zwraca jednak wynik w dniach, a nie w latach. Mogłem go podzielić przez 365:

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

Ale zwraca wartość zmiennoprzecinkową i chcę liczbę całkowitą.
Więc mógłbym obliczyć lata:

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

Ale jest problem: na przykład teraz jest maj, jeśli wojna na osobę urodzona w czerwcu 1970 roku ma jeszcze 31 lat, a nie 32, ale wyrażenie powraca 32.
Nie mogę wyjść z tego problemu, czy ktoś może mi pomóc?

questionAnswers(9)

yourAnswerToTheQuestion