zoukankan      html  css  js  c++  java
  • SqlServer 获取工作日(周六、周日休息,周六日不休息,周六不休息)

     
    -- =============================================
    -- Author:    LJB
    -- Create date:2019年3月19日14:29:23
    -- Description:    获取工作日
    -- =============================================
    CREATE FUNCTION [dbo].[f_GetWorkday](@bdate DATETIME, @edate DATETIME,@workDayEnum INT)
    RETURNS INT
    AS 
      BEGIN
        DECLARE @workdays INT;
        DECLARE @saturdayCount INT;
        IF(@edate <= CONVERT(datetime,'1900-01-01'))
            SET @edate = GETDATE();
        
        IF(@workDayEnum = 1) --周六、周日休息
        BEGIN
            SET @workdays = 0;
        END
        ELSE IF(@workDayEnum = 2) --周六、周日不休息
        BEGIN
            SET @workdays  = DATEDIFF(day,@bdate,@edate) + 1;
            RETURN @workdays;
        END
        ELSE --周六不休息
        BEGIN 
            SET @workdays = datediff(wk,@bdate,@edate);--两个时间内有多少个周六
        END
        --一周5个工作日计算
        while DATEDIFF(d, @bdate, @edate) >= 0     
        begin                         
            if datepart(dw,@bdate) > 1 and datepart(dw,@bdate) < 7      
            begin
                select @workdays=@workdays+1      
            end     
            select @bdate=dateadd(day,1,@bdate)       
        end   
        RETURN @workdays;
      END
    GO


     

  • 相关阅读:
    /usr/bin/ld: 找不到 /usr/lib64/libatomic.so.1.0.0
    linux Version mismatch error. This is libtool 2.4.6 Debian-2.4.6-2
    java播放语音文件
    java冒泡排序
    java递归求和
    常见芯片标号说明
    keil5 新建 stm32项目 步骤
    st-link 升级固件时报错“is not in the DFU mode”
    数码管 段选位选
    C51 定时器
  • 原文地址:https://www.cnblogs.com/jincieryi/p/12679908.html
Copyright © 2011-2022 走看看