sqlserver 计算年龄
时间: 2023-11-19 22:33:38 浏览: 177
SQLSERVER计算年龄(岁月天).txt
SQL Server 可以使用内置的函数来计算年龄。一般来说,我们可以用以下公式计算年龄:
DATEDIFF(yy, 生日, GETDATE()) – (CASE WHEN (MONTH(生日) > MONTH(GETDATE())) OR (MONTH(生日) = MONTH(GETDATE()) AND DAY(生日) > DAY(GETDATE())) THEN 1 ELSE 0 END)
其中,DATEDIFF 函数用来计算两个日期之间的差距,yy 表示计算年份之差。生日是指出生日期,GETDATE() 函数用来获取当前日期。CASE WHEN THEN ELSE END 结构用来判断是否已经过了生日。
下面是一个示例查询,用来计算一个名为 Person 的表中每个人的年龄:
SELECT Name, DATEDIFF(yy, BirthDate, GETDATE()) - (CASE WHEN (MONTH(BirthDate) > MONTH(GETDATE())) OR (MONTH(BirthDate) = MONTH(GETDATE()) AND DAY(BirthDate) > DAY(GETDATE())) THEN 1 ELSE 0 END) AS Age
FROM Person
其中,Name 是人名,BirthDate 是出生日期,Age 是计算出的年龄。
阅读全文