SqlServer 获取工作日(周六、周日休息,周六日不休息,周六不休息)

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 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
————————————————
版权声明:本文为CSDN博主「仅此而已丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32343577/article/details/89305844
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
8月前
|
机器学习/深度学习 算法 C语言
60天力扣打卡(第一天)
60天力扣打卡(第一天)
|
10月前
|
Web App开发 Android开发 iOS开发
自动记录每天的起床时间,这也太酷了吧
自动记录每天的起床时间,这也太酷了吧
|
编译器
周一到周六每天一题,你对了几个?
周一到周六每天一题,你对了几个?
|
缓存 NoSQL Linux
那天晚上,他真的好快!
那天晚上,他真的好快!
199 0
|
C#
C#得到某月最后一天晚上23:59:59和某月第一天00:00:00
C#得到某月最后一天晚上23:59:59和某月第一天00:00:00
198 0
C#得到某月最后一天晚上23:59:59和某月第一天00:00:00
第一天
视觉生成技术定义与分类;理解视觉生成;视觉编辑、增强、制造;以及视觉开放平台。
第一天
|
弹性计算 Linux 网络安全
打卡第一天
怎么搭建FTP服务器(Win10系统)自己动手很重要!!!
568 0
打卡第一天
2018-05-07 第一天
说在前面 1:坚持。 学生:学习贵不贵?  老师:贵!!!  学生:哪里贵?  老师:贵在坚持。 2:读书之道:熟读而精思。 3:兴趣的三个层次: a:兴趣:对未知的事务的好奇心所引发的探索的欲望。 b:乐趣:在学习的过程中有了成就感,而引发的对事务的更深层次的了解的欲望。
1142 0