zoukankan      html  css  js  c++  java
  • SQL函数计算两个日期间的工作日天数

    返回指定开始、结束日期间的工作日天数;开始日期须小于结束日期,否则返回 0

    /******************************************************************************
    ** 功能:返回指定开始、结束日期间的工作日天数;开始日期须小于结束日期,否则返回 0
    ** 作者:Danny,Li
    ** 日期:2010-12-09
    *******************************************************************************
    ** 返回值列表
    ****************************
    ** 返回值 涵义
    ** ------- -----------------------------------------------------------
    ** @intdays 指定开始、结束日期间的工作日天数(包含当天)
    **
    *******************************************************************************
    ** 修订日志
    ****************************
    ** 日期 作者 修订备注
    ** ---------- -------- -----------------------------------------------
    **
    ******************************************************************************
    */
    CREATE FUNCTION dbo.fun_CalculateWorkdays
    (
    @startdate DATETIME, -- 开始日期
    @enddate DATETIME -- 结束日期(结束日期须大于开始日期)
    )
    RETURNS INT
    AS
    BEGIN
    DECLARE @intdays INT, @currentdate DATETIME
    SET @intdays = 0
    SET @currentdate = @startdate
    IF (DATEDIFF(d, @startdate, @enddate) < 0 OR @startdate IS NULL OR @enddate IS NULL OR @startdate = '' OR @enddate = '')
    SET @intdays = 0
    ELSE
    BEGIN
    WHILE (DATEDIFF(d, @currentdate, @enddate) >= 0)
    BEGIN
    IF (DATEPART(dw, @currentdate) = 7)
    SET @currentdate = DATEADD(d, 1, @currentdate)
    IF (DATEPART(dw, @currentdate) = 6)
    SET @currentdate = DATEADD(d, 2, @currentdate)
    IF (DATEPART(dw, @currentdate) <= 5)
    BEGIN
    SET @currentdate = DATEADD(d, 1, @currentdate)
    SET @intdays = @intdays + 1
    END
    END
    END
    RETURN (@intdays)
    END
  • 相关阅读:
    怎么将java项目打包成双击就可以运行的jar包---fatjar
    hdu 2629 Identity Card (字符串解析模拟题)
    求最远点对,输出距离
    poj 2299 求逆序数
    第九周作业 实现图片压缩
    第八周作业 struts,spring,jpa整合简单测试
    第七周作业 POI操作Excel,world文档
    第七周作业 关于xml问题
    第六周作业 略谈jsp
    第六作业 持久层框架mybatis小记
  • 原文地址:https://www.cnblogs.com/dannyli/p/2271354.html
Copyright © 2011-2022 走看看