Дата рождения -> Возраст

NiGhT_GhOsT

Новичок
Дата рождения -> Возраст

Хотел узнать ваше мнение на вопрос перевода даты рождения в возраст. Я преполагаю такой вариант:
(TO_DAYS(CURDATE())-TO_DAYS(date))/365
но весокосный год то не учитывается, значит будет погрешность в 1 день на каждые 4 года, а это не есть хорошо. Может кто знает как все точно сделать?
 

ys

отодвинутый новичок
> Все гениальное просто ))

Не совсем.

Вот родилось тело 31 декабря 1972 года.
Сколько ему лет будет 1 января 2007 года.
 

NiGhT_GhOsT

Новичок
34...

надо доработать проверку... на тему если текущая дата меньше даты рождения
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: NiGhT_GhOsT
Хотел узнать ваше мнение на вопрос перевода даты рождения в возраст.
Мнение: не следует пользоваться недо-СУБД, не имеющими встроенного типа interval и средств для полноценной работы с датами. Пользуйтесь нормальными СУБД:
Код:
test=# select age(cast('1988-06-24' as date));
           age
-------------------------
 18 years 4 mons 18 days
(1 row)

test=# select extract(year from age(cast('1988-06-24' as date)));
 date_part
-----------
        18
(1 row)
 
http://photomatt.net/2003/12/08/calculate-age-in-mysql/
http://www.mysql.ru/docs/man/Date_calculations.html
 

Breeze

goshogun
Команда форума
Партнер клуба
select period_diff(200611,198008)/12; #мой возраст :)
 
Сверху