我知道有人问过这个问题,但我发现以下代码似乎工作正常,只是想让这里的所有专业人士快速查看一下。
我在银行工作,需要它 100% 的工作,我注意到很多查询有时可能是不正确的。也是N.NameBirthdate
我从数据库中提取的列。
先感谢您。
SELECT
CASE
WHEN (MONTH(GETDATE()) * 100) + DAY(GETDATE()) >= (MONTH(N.NameBirthdate) * 100) + DAY(N.NameBirthdate)
THEN DATEDIFF(Year, N.NameBirthdate, GETDATE())
ELSE DATEDIFF(Year, N.NameBirthdate, GETDATE())-1
END AS 'Age',