读书人

关于时间函数问一个简单的有关问题

发布时间: 2012-02-16 21:30:36 作者: rapoo

关于时间函数,问一个简单的问题!
下面是我的求时间间隔函数,当我改变@time2,出现了我无法解释的错误,具体如下:

SQL code
declare @time1 datetime,@time2 datetimeselect @time1='2011-01-01',@time2='2011-12-31'select rtrim(right(year(@time2-@time1),2)*1)+'年零'+rtrim(month(@time2-@time1))+'月'/*0年零12月,这个对了!*/godeclare @time1 datetime,@time2 datetimeselect @time1='2011-01-01',@time2='2012-12-31'select rtrim(right(year(@time2-@time1),2)*1)+'年零'+rtrim(month(@time2-@time1))+'月'/*2年零1月,明显不对!*/godeclare @time1 datetime,@time2 datetimeselect @time1='2011-01-01',@time2='2013-12-31'select rtrim(right(year(@time2-@time1),2)*1)+'年零'+rtrim(month(@time2-@time1))+'月'/*3年零1月,也不对*/


[解决办法]
declare @time1 datetime,@time2 datetime

select @time1='2011-01-01',@time2='2016-01-31'

select rtrim(datediff(year,@time1,@time2))+'年零'+rtrim(datediff(month,@time1,@time2)%12)+'月'

读书人网 >SQL Server

热点推荐