SQL Server 成员年满 65 岁的日期



我需要找到即将年满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

最新更新