@nezzard

Как сделать sql выборку по возрасту имея только дату рождения?

Добрый день, подскажите пожалуйста как сделать выбор клиентов к примеру которым 50 лет.

Решение типа
YEAR(DOB) = (YEAR(NOW()) - 50) Не подходит, так-как мне нужно быть точно уверенным, что человеку есть 50 полных лет.
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
@nezzard Автор вопроса
50 = YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(DOB) DAY))
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d'))
Ответ написан
LaRN
@LaRN
Senior Developer
Можно так попробовать:
select datediff(yy, DOB, NOW())
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
Возраст:
DATEDIFF( Year, BirthDay, ISNULL( DeathDay, GETDATE())) 
+ ( SIGN ( DATEDIFF ( DAY, BirthDay, DATEADD ( YEAR, YEAR( BirthDay ) 
- YEAR( ISNULL( DeathDay, GETDATE())), ISNULL( DeathDay, GETDATE())))) - 1 ) / 2
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы