StudClub — студентський клуб Полтави
Форум › Web › Вычислить возраст средствами MYSQL

Вычислить возраст средствами MYSQL

Автор: Kerz · 25.10.2026 17:57 · 9 відповідей · 20 151 переглядів

K
05.06.2007 23:32
написал сходу запрос, который не отличается изысканностью.
Может кому будет полезно.
Ну а мне хочется узнать варианты попроще и пологичнее..

((FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y') - FROM_UNIXTIME(user_birthdate, '%Y')) 
-((FROM_UNIXTIME(UNIX_TIMESTAMP(), '%m')<FROM_UNIXTIME(user_birthdate, '%m'))
OR (FROM_UNIXTIME(UNIX_TIMESTAMP(), '%m')=FROM_UNIXTIME(user_birthdate, '%m')
AND FROM_UNIXTIME(UNIX_TIMESTAMP(), '%d')<FROM_UNIXTIME(user_birthdate, '%d'))))
26.07.2007 08:02
И это работает?
K
26.07.2007 11:59
это работает
26.07.2007 14:05
Я что-то в MySql таких скриптов не помню.
K
26.07.2007 16:06
это не скрипт.
это часть запроса. условие в where.
полный запрос не имеет смысла приводить.
что тебя смущает?
27.07.2007 05:11
Да ничего меня не смущает, просто сколько запросы сам пишу, такого не видел. Интересно.
K
27.07.2007 06:59
ну так может есть опыт вычисления возраста пользователя средствами MySQL? покажи
27.07.2007 07:02
Такого опыта на жаль нет. Только обычные, протые запросы на выборку, на инсерт апдейт и делит. Ну ещё можно помудрить с правописанием и пробелами, большими и маленькими буквами, но MySQL этого не поддержует.Только PlSQL.
A
24.06.2009 03:27
SET age = CEILING((receipt_data - date_of_birth)/10000-1)
24.06.2009 09:08
Очень правильная задумка, но есть ошибка в исполнении.
Нужно получить не разряд числа а узнать год по кол-ву секунд.

Таким образом будет написано вот так:
SELECT CEILING((receipt_data-user_birthdate)/(60*60*24*365)-1) as age from users

Увійдіть, щоб відповісти в темі.