SQLServer 计算两个日期间的工作日(排除周六和周日,不排除节假日)
CREATE FUNCTION GetWorkDays(@dt_begin DATETIME , --计算的开始日期@dt_end DATETIME --计算的结束日期)
RETURNS INT
AS BEGINDECLARE @workday INT ,@i INT ,@bz BIT ,@dt DATETIMEIF @dt_begin > @dt_end SELECT @bz = 1 ,@dt = @dt_begin ,@dt_begin = @dt_end ,@dt_end = @dtELSE SET @bz = 0SELECT @i = DATEDIFF(Day, @dt_begin, @dt_end) + 1 ,@workday = @i / 7 * 5 ,@dt_begin = DATEADD(Day, @i / 7 * 7, @dt_begin)WHILE @dt_begin <= @dt_end BEGINSELECT @workday = CASE WHEN ( @@DATEFIRST + DATEPART(Weekday, @dt_begin) - 1 )% 7 BETWEEN 1 AND 5 THEN @workday + 1ELSE @workdayEND ,@dt_begin = @dt_begin + 1ENDRETURN(CASE WHEN @bz=1 THEN -@workday ELSE @workday END)END
GO--测试示例
SELECT dbo.GetWorkDays('2019-08-1', '2019-08-31') AS '工作日'
SQLServer 计算两个日期间的工作日(排除周六和周日,不排除节假日)相关推荐
- Python计算两个日期间的工作日(交易日),去除周末节假日
首先区分一下这里的工作日和节假日是不同的. 工作日是指去掉节假日即周末,但是不去掉调休的日期. 交易日主要针对金融行业,是指去掉节假日和周末,因为周末金融市场也是停盘的,所以即使周末因为调休工作,也不 ...
- oracle计算两个日期间的工作日(根据表配置)
首先新增表用于配置非工作日,工作日,具体配置在程序中处理 DROP TABLE "T_WEEKDAY"; CREATE TABLE "T_WEEKDAY" (& ...
- 计算两个日期间相隔了多少周
计算两个日期间相隔多少周,只要个了周日就算一周 /** * 计算两个日期间相隔的周数 * * @param startDate * 开始日期 * @param endDate * 结束日期 * @re ...
- 记录一次计算两个日期间的工作日天数,排除节假日、周末等
1.数据库存储节假日.补班日期 数据库结构如下,0代表节日,1代表补班日期,需要每年更新 2.代码 (1)计算相差天数 @Overridepublic Long getWorkDay(String s ...
- 计算两个日期间有多少个工作日
function TmainForm.WorksDay( //计算两个日期间有多少个工作日 mStartDate: TDate; //开始日期 mEndDate: TDate //终止日期 ): In ...
- MYSQL 如何得到两个日期间的工作日(不含周六日,节假日)
写在前面 参考文章 SQL 如何得到两个日期间的工作日(附假期表)_Fuzz-CSDN博客_sql计算日期之间工作日函数 这篇文章使用的是SQL SEVER ,如何转化为 MYSQL 新手尝试两个小 ...
- python获取两个日期间的工作日
python获取两个日期间的工作日 import datetime # 计算两个日期之间的工作日数,非天数. class workDays():def __init__(self, start_dat ...
- SQL 如何得到两个日期间的工作日(附假期表)
首先,我们有这样一张表 我们要知道两个日期间的工作日天数,相信大家有遇到过这个恶心人的需求,所谓工作日,不简简单单的就是除周六日以外的日子.要考虑到节假日,国庆啊,中秋啊,最让人头疼的是,你根本无法掌 ...
- LocalDate计算两个日期间距离
1.LocalDate提供了until()方法,计算了两个日期之间的年.月和日的周期 例如: from {@code 2017-08-28} to {@code 2018-09-30} is &quo ...
最新文章
- 接上篇-找虚拟主机过程
- 怎么用BarTender批量打印标签
- 【MFC】CFrameWnd类详解
- 使用 Drools 规则引擎实现业务逻辑,可调试drl文件
- 最穷的日子,你是如何熬过来的?
- RequestBody获取前端数据_360视频云Web前端HEVC播放器实践剖析
- [USACO] Beef McNuggets
- 好奇心、求知欲、理解力一直是我生命里最强大的驱动力​
- Golang 的 “omitempty” 关键字略解
- [MySQL] 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded dlope
- 微课|中学生可以这样学Python(2.3.3节):内置函数zip()
- cad2004教程_CAD卸载教程
- Ubuntu Class ZipArchive not found
- 前端基础学习之Sass
- 解决QML debugging is enabled.Only use this in a safe environment.警告
- python+selenium自动化脚本例子
- 联想v360安装linux双系统,联想V360在WIN7下安装XP双系统完美运行攻略.doc
- Docker Swarm学习教程【转载】
- tshark常用命令
- 【python-docx】长度单位(毫米、厘米、英尺、磅等)的表示和转换关系