SQL DATEADD 和 DATEDIFF 的问题

有朋友能帮我解释下这个代码吗?这是系统自动生成的代码,我不太明白为什么datediff的部分,为什么要在年龄前加 -1
CASE WHEN DATEADD(YEAR, DATEDIFF(YEAR, BirthDT, GETDATE()), DT) > GETDATE() THEN DATEDIFF(YEAR, BirthDT, GETDATE()) - 1 ELSE DATEDIFF(YEAR, BirthDT, GETDATE()) END AS AgeRange

这个是求年龄吧?
年龄求实岁不就是-1.