可能的重复:
如何在 T-SQL 中用年、月、日计算年龄 https://stackoverflow.com/questions/57599/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。有没有办法做到这一点?
Thanks,
尝试这个...
SELECT CASE WHEN
(DATEADD(year,DATEDIFF(year, @datestart ,@dateend) , @datestart) > @dateend)
THEN DATEDIFF(year, @datestart ,@dateend) -1
ELSE DATEDIFF(year, @datestart ,@dateend)
END
它只是比较年份差异,如果大于则减去年份,否则返回值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)