判断2个工作日的存储过程怎么写啊
根据一个时间字段,得到48小时后的一个时间(必须在工作日内,要去掉周末和法定假日),这个该怎么写啊?请高手帮忙下,谢谢了
------解决方案--------------------declare @dt datetime 
 set @dt= '2007-6-3 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result   
 set @dt= '2007-6-4 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result   
 set @dt= '2007-6-5 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result   
 set @dt= '2007-6-6 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result   
 set @dt= '2007-6-7 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result   
 set @dt= '2007-6-8 ' 
 select @dt as sur,dateadd(day, 
 case datepart(weekday,@dt)  
   when 1 then 3 
   when 2 then 2 
   when 3 then 2 
   when 4 then 2 
   when 5 then 4 
   when 6 then 4 
   when 7 then 3 
 end 
 ,@dt 
 ) as result 
------解决方案--------------------以上只考虑周六周日   
 select identity(int,1,1) as id into # from syscolumns where id  < 100   
 select * from # 
 --至少记录大于3条以上     
 declare @d datetime 
 set @d =  '2006-6-6 ' 
 select top 1 d,datepart(dw,d) 
 from (select dateAdd(day,ID, '2007-06-09 ') as d from #) a 
 where datediff(d,@d,d) >  0 and datepart(dw,d) > 1   
 drop table #
------解决方案--------------------长假之前的周末要上班 
 这种情况很说不定,说不准是 
 长假之后的周末要上班