SQL SERVER 计算年龄
计算规则:计算年龄以岁为单位,不满一岁按照天数/365计算
WHEN ((就诊日期的年 = 出生日期的年) OR ((就诊日期的年 - 出生日期的年 = 1) AND (就诊日期的月日 < 出生日期的月日)))
THEN(就诊日期和出生日期的相差天数)/365
ELSE THEN ((就诊日期的年 - 出生日期的年) - (WHEN (就诊日期的月日 >= 出生日期的月日)
THEN 0
ELSE THEN 1))
CASE WHEN
DATEDIFF(YEAR,BB.Birthdate,a.GHRQ)=0 OR
(DATEDIFF(YEAR,BB.Birthdate,a.GHRQ)=1
AND (SUBSTRING(CONVERT(VARCHAR(100),a.GHRQ,20),6,2)+SUBSTRING(CONVERT(VARCHAR(100),a.GHRQ,20),9,2) <
SUBSTRING(CONVERT(VARCHAR(100),BB.Birthdate ,20),6,2)+SUBSTRING(CONVERT(VARCHAR(100),BB.Birthdate ,20),9,2)))
THEN round(datediff(DAY, BB.Birthdate,a.GHRQ)*1.0/365,2) ELSE
DATEDIFF(YEAR,BB.Birthdate,a.GHRQ)-
(CASE WHEN DATEPART(MONTH,a.GHRQ)+DATEPART(DAY,a.GHRQ)>=DATEPART(MONTH,BB.Birthdate)+DATEPART(DAY,BB.Birthdate) THEN 0 ELSE 1 END)
END AS 年龄