0

我想计算从一个人出生的那一年到今天的年数。我有要使用的组件,但不知道如何使用它们。

SELECT COLUMN1, COLUMN2, DATEPART(YY,GETDATE()),
CONVERT(INT,+19)))LEFT(TABLE.COLUMN,2)

我想在生日前使用 +19 显示它。数据库中的示例出生年份显示为 YY 而不是 YYYY。这就是为什么我要添加 19,因此 SQL 将计算从 19YY 到 2013 的年份。

4

2 回答 2

4

尝试这个

SELECT  id
    ,   Name
    ,   DATEDIFF(yy, CONVERT(DATETIME, DOB), GETDATE()) AS AGE
    ,   DOB
FROM MyTable
于 2013-09-03T10:08:32.173 回答
0
declare @DOB date = '19680411'
select datediff(year, @DOB, getdate())- case when month(@DOB)*32 + day(@DOB) > 
month(getdate()) * 32 + day(getdate()) then 1 else 0 end
于 2013-09-03T13:47:43.293 回答