小编典典

在SQL中找到某人的年龄

sql

在SQL Server数据库中,我记录了人们的出生日期。是否有仅使用SQL来计算给定日期的人的年龄的简单方法?

使用 DATEDIFF(YEAR,DateOfBirth,GETDATE()) 不起作用,因为它仅查看日期的年份部分。例如
DATEDIFF(YEAR,‘2007年12月31日’,‘2008年1月1日’) 返回1。


阅读 165

收藏
2021-05-05

共1个答案

小编典典

查看本文:如何使用SQL代码计算一个人的年龄

这是文章中的代码:

DECLARE @BirthDate DATETIME
DECLARE @CurrentDate DATETIME

SELECT @CurrentDate = '20070210', @BirthDate = '19790519'

SELECT DATEDIFF(YY, @BirthDate, @CurrentDate) - CASE WHEN( (MONTH(@BirthDate)*100 + DAY(@BirthDate)) > (MONTH(@CurrentDate)*100 + DAY(@CurrentDate)) ) THEN 1 ELSE 0 END
2021-05-05