计算特定日期SQL的年数

时间:2013-09-03 09:27:01

标签: sql sql-server sql-server-2008 tsql

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

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

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

2 个答案:

答案 0 :(得分:4)

试试这个

SELECT  id
    ,   Name
    ,   DATEDIFF(yy, CONVERT(DATETIME, DOB), GETDATE()) AS AGE
    ,   DOB
FROM MyTable

答案 1 :(得分: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