... ... 不足一个月算一个月。 ID号唯一递增,请问需要怎么处理? -------------------------------------------- declare @sdate datetime,@edate datetime ,@id int select @sdate =开始日期,@edate=结束日期,@id=id from cs
select case when dateadd(month,DATEDIFF(month,@sdate,@edate),@sdate)<=@edate then DATEDIFF(month,@sdate,@edate)+1 else DATEDIFF(month,@sdate,@edate) end AS M
需要用游标是吗? 怎么处理,谢谢
------解决方案-------------------- 递归求两日期的差,不要用游标
------解决方案-------------------- select case when DATEDIFF(mm,'开始时间','结束时间')=0 then 1 else DATEDIFF(mm,'开始时间','结束时间') end from 表名
------解决方案-------------------- select case when DATEDIFF(dd,'开始时间','结束时间')<30 then 1 else DATEDIFF(dd,'开始时间','结束时间')/30 end from table