可能重复:如何使用年,月和日计算T-SQL中的年龄
我有一个应用程序,它完全计算特定日期的年龄,即几年 - 几天 . 在sql server 2005中有没有简单的方法来计算它 . 实际上我已经为此创建了一个功能,但这非常复杂 . 我只是想知道在我不知道的sql server中是否有任何简单的方法或任何功能?
对于任何申请人,在特定日期计算确切年龄的要求非常简单 .
不确定它是否100%正确,但是这样的事情:
declare @d1 datetime, @d2 datetime, @y int, @m int, @d int set @d1 = '2009-09-23' set @d2 = '2012-04-23' set @y = datediff(year, @d1, @d2) - 1 set @m = datediff(month, dateadd(year, @y, @d1), @d2) if dateadd(month, @m, dateadd(year, @y, @d1)) > @d2 set @m = @m - 1 set @d = datediff(day, dateadd(month, @m, dateadd(year, @y, @d1)), @d2) print cast(@y as nvarchar) + ' year(s) ' + cast(@m as nvarchar) + ' month(s) and ' + cast(@d as nvarchar) + ' day(s)'
1 回答
不确定它是否100%正确,但是这样的事情: