zoukankan      html  css  js  c++  java
  • SQL 取时间差 去掉周末及非工作时间节假日

    CREATE proc  s_Time_diff  ----s_Time_diff '2014/5/30 16:00' ,'2014/6/4 9:00' 
    @Date_From nvarchar(40), 
    @Date_End nvarchar(40) 
    as 
     
    declare @DateF datetime,@DateE datetime,@MI int,@work_From datetime,@work_End datetime 
    ,@HH decimal(18,2),@Date_Temp datetime,@DD int,@Num int,@Num_W int 
    select @DateF=convert(char(4),DATEPART(YYYY,@Date_From))+'/'+convert(char(2),DATEPART(MM,@Date_From))+'/'+convert(char(2),DATEPART(DD,@Date_From)) 
    select @DateE=convert(char(4),DATEPART(YYYY,@Date_End))+'/'+convert(char(2),DATEPART(MM,@Date_End))+'/'+convert(char(2),DATEPART(DD,@Date_End)) 
    select @HH=0 
    if(@DateF=@DateE)---起讫时间同一天 
    begin 
      select @MI=DATEDIFF(Mi,@Date_From,@Date_End)  
    end 
    if(@DateF<>@DateE)---起讫时间不是同一天 
    begin 
       select @work_From=convert(datetime,@DateE+' '+'8:30') 
       select @work_End=convert(datetime,@DateF+' '+'17:00') 
       select @Date_Temp=dateadd(dd,1,@DateF) 
       select @MI=DATEDIFF(Mi,@Date_From,@work_End)  
       while(@Date_Temp<@DateE) 
       begin 
          select @Num=COUNT(*) from Festival where Festival_D=@Date_Temp 
          select @Num_W=datepart(weekday,@Date_Temp) 
          print @Num_W 
          if(@Num>0 or @Num_W=1 or @Num_W=7)---节假日 
          begin 
             select @HH=@HH+0 
          end 
          else 
          begin 
             select @HH=@HH+24 
          end 
          select @Date_Temp=dateadd(dd,1,@Date_Temp) 
          print @Date_Temp 
          print @DateE 
          select @Num=0 
       end 
       if(@Date_Temp=@DateE) 
       begin 
         select @MI+=DATEDIFF(Mi,@work_From,@Date_End)  
       end 
    end 
    select @HH=@HH+convert(decimal,@MI)/60  
    select HH=@HH 
    ----Festival 节日表 

  • 相关阅读:
    固定textview大小,根据文字多少调整字体自适应textview大小
    这可能是最全的禁用win10自动更新了
    Android Studio 3.0正式版填坑之路
    android studio 3.0之后版本自定义文件名生成apk文件
    Android Studio从2.3升级到3.1注意事项
    Android studio2.3.3升级3.1.2坑
    iterm2 快捷键大全
    php实现的短网址算法分享
    mysql远程连接命令
    Mac下安装与配置Go语言开发环境
  • 原文地址:https://www.cnblogs.com/xiayan/p/3823875.html
Copyright © 2011-2022 走看看