各位高手,有个问题请教,问题是这样的: 我现在用dateadd(day,5,'2008-10-28'),如果我现在执行这个的话,它的时间就会变成2008-11-02,我的目的是要对时间加5,但是要控制时间加完5后,不超过传入的时间的月份,也就是要显示在传入时间的月份的最后一天,就像上面的例子一样传入的是‘2008-10-28’加完5后要让它变成‘2008-10-31’,请问如何实现.在此先谢过
调试欢乐多
------------
--2008-10-31
set @dt = '2008-10-28'declare @d int;
set @d = 5;select
case when convert(varchar(6),dateadd(day,@d,@dt),112)=convert(varchar(6),@dt,112)
then dateadd(day,@d,@dt)
else dateadd(day,-1,dateadd(month,1,convert(varchar(6),@dt,112)+'01'))
end
then getdate()+5-datepart(day,getdate()+5) else getdate()+5 end;