написал сходу запрос, который не отличается изысканностью.
Может кому будет полезно.
Ну а мне хочется узнать варианты попроще и пологичнее..
((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'))))
Я что-то в MySql таких скриптов не помню.
это не скрипт.
это часть запроса. условие в where.
полный запрос не имеет смысла приводить.
что тебя смущает?
Да ничего меня не смущает, просто сколько запросы сам пишу, такого не видел. Интересно.
ну так может есть опыт вычисления возраста пользователя средствами MySQL? покажи
Такого опыта на жаль нет. Только обычные, протые запросы на выборку, на инсерт апдейт и делит. Ну ещё можно помудрить с правописанием и пробелами, большими и маленькими буквами, но MySQL этого не поддержует.Только PlSQL.
SET age = CEILING((receipt_data - date_of_birth)/10000-1)
Очень правильная задумка, но есть ошибка в исполнении.
Нужно получить не разряд числа а узнать год по кол-ву секунд.
Таким образом будет написано вот так:
SELECT CEILING((receipt_data-user_birthdate)/(60*60*24*365)-1) as age from users