可能重复:
How to calculate age in T-SQL with years, months, and days计算年龄
看起来简单的东西,但它似乎并没有为我工作。我想根据SQL中的两个日期来计算某个人的年龄。
我做了DATEDIFF(year,Birthdate,ReferenceDate),它并不总是给我适当的年龄。
例如
DATEDIFF(year,'1981-07-05',2011-07-01')
给出30,而它仍然应该是29.有没有办法做到这一点?
感谢,
您的日期部分是'year',所以只考虑'1981'和'2011'。查看[documentation](http://msdn.microsoft.com/en-us/library/ms189794.aspx)。此外,havev看看这个问题http://stackoverflow.com/questions/57599/how-to-calculate-age-in-t-sql-with-years-months-and-days – Jacob
有一篇文章,解释它不计算日期之间的年份,它计算年份之间的年数。 http://www.sqlteam.com/article/datediff-function-demystified –