|
|
|
| В таблице есть поле типа DATE, хранящее дату рождения человека. Как средствами SQL вычислить возраст? Делаю так:
SELECT *, FLOOR((TO_DAYS(NOW()) - TO_DAYS(birth_day))/365.25) AS age FROM `arbitrators` WHERE `id`=${id}
|
В результате возраст сохраняется в age
Правильно ли это и есть ли другой вариант? | |
|
|
|
|
|
|
|
для: mihdan
(28.07.2008 в 14:40)
| | Trianon, поясните пожалуйста | |
|
|
|
|
|
|
|
для: mihdan
(28.07.2008 в 14:40)
| | Ну как... с точностью плюс-минус сутки такой запрос будет работать. Из-за разной длины года.
Если хочется более естественной картины - придется довольствоваться датой рождения, и затем муторно вычислять по ней и по текущей дате точный возраст php-средствами. | |
|
|
|
|
|
|
|
для: Trianon
(28.07.2008 в 17:53)
| | Спасибо. Значит будет так-сутки не проблема я думаю. | |
|
|
|
|
|
|
|
для: mihdan
(28.07.2008 в 23:51)
| | Будет у человека день рождения, а возраст на сайте не изменится - он Вас помянет добрым словцом :)) | |
|
|
|
|
|
|
|
для: BinLaden
(29.07.2008 в 01:14)
| | Думаю в этом нет ничего страшного, хотя... | |
|
|
|