Как рассчитать возраст в T-SQL с годами, месяцами и днями
Попробуйте это ...
SELECT CASE WHEN
(DATEADD(year,DATEDIFF(year, @datestart ,@dateend) , @datestart) > @dateend)
THEN DATEDIFF(year, @datestart ,@dateend) -1
ELSE DATEDIFF(year, @datestart ,@dateend)
END
По сути, DateDiff transact-sql (год ...) дает вам возраст, которому datediff исполнится человек в этом tsql году, поэтому я просто добавил tsql оператор case, чтобы сказать, если datediff у него еще не было дня рождения tsql в этом году, вычтите 1 год, иначе tsql вернуть значение.
tsql
datediff
2021-12-04T11:54:41+00:00
2022-11-21T20:52:08+00:00
DwWizzzarD
Вопросы с похожей тематикой, как у вопроса:
Как рассчитать возраст в T-SQL с годами, месяцами и днями
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.