当前位置: 代码迷 >> Sql Server >> 求大家帮忙 去掉重复的天数,该如何解决
  详细解决方案

求大家帮忙 去掉重复的天数,该如何解决

热度:58   发布时间:2016-04-27 17:22:49.0
求大家帮忙 去掉重复的天数
我的提个数据表TBTest
有两个字段BeginDate EndDate

现有如下3条记录
2007-1-1 2007-1-10
2007-1-3 2007-1-20
2007-2-1 2007-2-10

我想减去 重复的天数 得到
28天

感谢大家帮助

------解决方案--------------------
怎么个去法? 是从BeginDate里去, 还是从EndDate里去?
------解决方案--------------------
怎么个减法?
楼主描述清楚一点`
------解决方案--------------------
select datediff(d,min(BeginDate),max( EndDate )) from t
------解决方案--------------------
你要写一个函数/过程
这个函数将所有日期列出到一个临时表,然后distinct查询日期

假设
循环日期

while @nowdate< @enddate
loop 
 insert into #t
@nowdate
@[email protected]+1
end loop
------解决方案--------------------
SQL code
declare @t table(id int identity(1,1),begindate datetime,enddate datetime)insert @t select '2007-1-1','2007-1-10'union all select '2007-1-3','2007-1-20'union all select '2007-2-1 ','2007-2-10'select     sum(datediff(day,a.begindate,case when a.enddate > b.begindate then b.begindate else a.enddate end)) as diffdayfrom @t aouter apply(    select begindate    from @t    where id = a.id + 1)b
  相关解决方案