• 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
  • 相关阅读:
    在Windows Mobile 中如何改变Datagrid中字的颜色?
    使用FileSystemWatcher监视文件更改
    MVVM体验记之DataGrid绑定
    实现IDisposable以实现更优雅的代码
    适当使用enum做数据字典
    web.config customErrors无法处理的is not a valid virtual path
    Windows下使用skipfish
    MVVM打造无限级TreeView
    System.Drawing.Image在Save之后Type变了
    Windows下使用RatProxy
  • 原文地址:https://www.cnblogs.com/dannyli/p/2271354.html
Copyright © 2020-2023  润新知