@nezzard

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

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

Решение типа
YEAR(DOB) = (YEAR(NOW()) - 50) Не подходит, так-как мне нужно быть точно уверенным, что человеку есть 50 полных лет.
  • Вопрос задан
  • 790 просмотров
Решения вопроса 1
@nezzard Автор вопроса
50 = YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(DOB) DAY))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
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
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы