Лучшее использование datediff и dateadd. Никакое округление, нет приближается, нет 29-го февраля ошибка, только функции даты
ageOfThePerson = DATEDIFF(yyyy,dateOfBirth, GETDATE())
dateOfNextBirthday = DATEADD(yyyy,ageOfThePerson + 1, dateOfBirth)
daysBeforeBirthday = DATEDIFF(d,GETDATE(), dateofNextBirthday)
Благодаря @Gustavo Cardoso, новому определению для возраста человека
ageOfThePerson = FLOOR(DATEDIFF(d,dateOfBirth, GETDATE())/365.25)
Если таблица относительна новый со всего несколькими записями, можно усечь таблицу для сброса Значений идентификаторов:
TRUNCATE TABLE tablename;
Используя Удаляют , не сбросит Значения идентификаторов.
DELETE FROM tablename;
после того, как таблица освобождена, можно применить автоинкремент.
CHANGE COLUMN `Id` `Id` INT(11) NOT NULL AUTO_INCREMENT