Вычислить возраст пользователя на основе столбца в SQL
У меня есть таблица, которая обновляется ежедневно, и у меня есть столбец под названием Год (когда кто-то родился), который я хотел бы рассчитать возраст этого человека.
USERID Vendors dob(Year) login 1 yes 1985 yes 2 yes 1961 yes
Я хотел бы иметь что-то вроде этого
USERID Vendors dob(Year) login Age 1 yes 1985 yes 34 2 yes 1961 yes 59
Что я уже пробовал:
SELECT dob(Year) ,GETDATE() AS (Today) ,DATEDIFF (YY, dob(Year),GETDATE()) - CASE WHEN DATEADD(YY,DATEDIFF(YY,dob(Year),GETDATE()), dob(Year) > GETDATE () THEN 1 ELSE 0 END AS (AGE) from table
CHill60
Используя эту логику, вы завышаете чей-то возраст в зависимости от даты выполнения запроса. Например, кому-то, родившемуся в ноябре 1980 года, в настоящее время 39 лет, но ваша логика вернет их возраст как 40