Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Вс Фев 13 2005 15:57 Заголовок сообщения: как сердствами MySQL вычислить возраст? |
|
|
имеем поле с датой рождение, надо получить возраст, падскажите плиз решение _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
mad_alexx
Зарегистрирован: 14.01.2005 Сообщения: 154 Откуда: Иркутск
|
Добавлено: Пн Фев 14 2005 10:11 Заголовок сообщения: Re: как сердствами MySQL вычислить возраст? |
|
|
Можно получить разницу в днях между рождением и текущим днём, а потом её разделить на 365. Хотя должен существовать и более правильный метод.
Разницу в днях можно получить такми способом:
Код: | SELECT TO_DAYS(NOW()) - TO_DAYS(birth_date) FROM table_name |
|
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Пн Фев 14 2005 10:41 Заголовок сообщения: |
|
|
не, разница в днях не катит... (из-за высокосных годов расчёт немного усложняется)..
где то в какой то из статей видел как это делается, а теперь когда нада - найти не могу ;( я пробовал так:
YEAR(NOW()-birth_date)
по идее должно было сработать, но у меня в MySQL-Front выдаёт Null значение... это не работает или просто очередной глюк MySQL Fronta? _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
mad_alexx
Зарегистрирован: 14.01.2005 Сообщения: 154 Откуда: Иркутск
|
Добавлено: Пн Фев 14 2005 14:35 Заголовок сообщения: |
|
|
Наверное, надо сделать так:
Код: | SELECT YEAR(NOW()) - YEAR(birth_date) FROM table_name |
|
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Пн Фев 14 2005 14:40 Заголовок сообщения: |
|
|
нее, это ещё более абсурдный вариант чем разницу в днях делить на 365. в общем то ответ вже найден, всем спасиба за внимание.
правильный ответ звучит так
(YEAR(CURRENT_DATE)-YEAR(BDate))- (RIGHT(CURRENT_DATE,5)<RIGHT(BDate,5))
может кому ещё пригодится _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|