我想计算一个人从出生到今天的年数。我有使用的组件,但不知道如何使用它们。
SELECT COLUMN1, COLUMN2, DATEPART(YY,GETDATE()),
CONVERT(INT,+19)))LEFT(TABLE.COLUMN,2)
我想使用+19在birtyear之前显示它。数据库中的例子显示,出生年份显示为YY不是YYYY。这就是为什么我要添加19,所以SQL将计算从19YY到2013年的年份。
答案 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