我需要找到一个会变成65岁或19岁的成员的日期。 我有DOB和年龄。
需要一个显示转为19或65的日期。
Id DOB Age Date_Turning_65_or_19
--------------------------------------------
2 1952-09-30 64 2017-09-30
我需要最后一栏作为结果
请帮我做。
我正在尝试不同的公式,但它不起作用。
我试过这样的事情
CASE
WHEN MONTH(GETDATE()) <= MONTH(DateOfBirth)
AND DATEDIFF(YEAR, DateOfBirth, GETDATE()) = '65'
THEN CONVERT(DATE, CONVERT(VARCHAR(2), MONTH( DateOfBirth)) + '/' + CONVERT(VARCHAR(2), DAY(DateOfBirth)) + '/' + CONVERT(VARCHAR(4), YEAR(GETDATE())))
WHEN DATEDIFF(YEAR, '19510901', GETDATE()) = '64'
THEN CONVERT(DATE, CONVERT(VARCHAR(2), MONTH( DateOfBirth)) + '/' + CONVERT(VARCHAR(2), DAY(DateOfBirth)) + '/' + CONVERT(VARCHAR(4), YEAR(GETDATE() + 365.25)))
答案 0 :(得分:2)
select *,
case when dateadd(year, 19, dob) < getdate()
then dateadd(year, 19, dob)
else dateadd(year, 65, dob)
end
from your_table