我需要找到即将年满65岁或19岁的会员的日期。 我有出生日期和年龄。
需要一个日期来显示他们何时年满 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)))
select *,
case when dateadd(year, 19, dob) < getdate()
then dateadd(year, 19, dob)
else dateadd(year, 65, dob)
end
from your_table