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

Автор Kerz, 06 Июня 2007, 02:32:43

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Kerz

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

((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'))))
Somebody falls in love, somebody breaks a heart
We never fell in love we only fell apart
Im getting lonely, i need somebody to hold me
I thought id never miss her

Stails

http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif" border=0 alt="http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif">

Kerz

Somebody falls in love, somebody breaks a heart
We never fell in love we only fell apart
Im getting lonely, i need somebody to hold me
I thought id never miss her

Stails

Я что-то в MySql таких скриптов не помню.
http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif" border=0 alt="http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif">

Kerz

это не скрипт.
это часть запроса. условие в where.
полный запрос не имеет смысла приводить.
что тебя смущает?
Somebody falls in love, somebody breaks a heart
We never fell in love we only fell apart
Im getting lonely, i need somebody to hold me
I thought id never miss her

Stails

Да ничего меня не смущает, просто сколько запросы сам пишу, такого не видел. Интересно.
http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif" border=0 alt="http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif">

Kerz

ну так может есть опыт вычисления возраста пользователя средствами MySQL? покажи
Somebody falls in love, somebody breaks a heart
We never fell in love we only fell apart
Im getting lonely, i need somebody to hold me
I thought id never miss her

Stails

Такого опыта на жаль нет. Только обычные, протые запросы на выборку, на инсерт апдейт и делит. Ну ещё можно помудрить с правописанием и пробелами, большими и маленькими буквами, но MySQL этого не поддержует.Только PlSQL.
http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif" border=0 alt="http://s7.rimg.info/24544fe45d17fb579930125663973ed1.gif">

alarin

SET age = CEILING((receipt_data - date_of_birth)/10000-1)

admin

Очень правильная задумка, но есть ошибка в исполнении.
Нужно получить не разряд числа а узнать год по кол-ву секунд.

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