【发布时间】:2011-07-07 13:09:10
【问题描述】:
可能重复:
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。另外,看看这个问题stackoverflow.com/questions/57599/… -
有一篇文章解释它,它不计算日期之间的年份,它计算年份之间的年数。 sqlteam.com/article/datediff-function-demystified
标签: sql sql-server-2005 date