sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)
sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)
create function [dbo].[WorkDay]
(
@beginday datetime,
@endday datetime
)
returns int
AS
begindeclare @caldays int declare @id intselect @caldays=0 while DATEDIFF(d, @beginday,@endday)>=0beginif datepart(dw,@beginday)>1 and datepart(dw,@beginday)<7beginSELECT @id=count(*) from Holiday where @beginday between begin_date and DATEADD(s,-1,DATEADD(day,1,end_date)) and exchange=0if(@id=0) select @caldays=@caldays+1endelsebeginSELECT @id=count(*) from Holiday where @beginday between begin_date and DATEADD(s,-1,DATEADD(day,1,end_date)) and exchange=1if(@id>0)select @caldays=@caldays+1endselect @beginday=dateadd(day,1,@beginday)end return @caldays
end--select datepart(dw,'2022-02-06')--select [dbo].[WorkDay]('2022-04-23','2022-04-24')
----节假日
insert into Holiday(fname,begin_date,end_date,exchange) values ('元旦','2022-01-01','2022-01-03',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('春节','2022-01-31','2022-02-06',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('清明节','2022-04-03','2022-04-05',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('劳动节','2022-04-30','2022-05-04',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('端午节','2022-06-03','2022-06-05',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('中秋节','2022-09-10','2022-09-12',0);
insert into Holiday(fname,begin_date,end_date,exchange) values ('国庆节','2022-10-01','2022-10-07',0);
----上班补充
insert into Holiday(fname,begin_date,end_date,exchange) values ('春节调休','2022-01-29','2022-01-30',1);--
insert into Holiday(fname,begin_date,end_date,exchange) values ('清明节调休','2022-04-02','2022-04-02',1);--
insert into Holiday(fname,begin_date,end_date,exchange) values ('劳动节调休','2022-04-24','2022-04-24',1);
insert into Holiday(fname,begin_date,end_date,exchange) values ('劳动节调休','2022-05-07','2022-05-07',1);
insert into Holiday(fname,begin_date,end_date,exchange) values ('国庆节调休','2022-10-08','2022-10-09',1);
sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)相关推荐
- SQL计算两个日期之间的工作日天数,去除法定节假日和周末
项目要求:需要计算两个日期之间的工作日天数,包含元旦.五一.十一等法定假日. 网上查询很多SQL函数,最终发现都不太理想,例如国庆放假可能会调休,周末也要上班.所以唯一的解决方案是建立一张工作日时间表 ...
- oracle 节假日天数,强大的PLSQL - 计算两个日期之间的工作日天数-除去(周末和公共假日...
用php写了一个函数,实现的功能是 计算两个日期之间的工作日天数-除去(周末和公共假日)写了 300多行的代码, 实现公共假日从文件中读取, 或者从数据库提取, 然后传入两个日期,就能返回想要的结果 ...
- 计算两个日期之间的工作日(去掉周末和节假日)
一个贴吧上找到的,整理一下 package com.uphone.commons;import java.text.ParseException; import java.text.SimpleDat ...
- mysql计算两个日期之间的工作日(可跨年,排除周六日,不排除节日)
SELECT(floor( days / 7 )* 5 + days % 7 -CASEWHEN 6 BETWEEN wd AND wd + days % 7-1 THEN1 ELSE 0 END - ...
- 计算两个日期之间的工作日天数
计算两个工作日之间的天数 : 利用循环遍历开始时间和结束时间之间的天数,工作日则累计,非工作日跳过,不过如果开始时间和结束时间之间很长,效率可能不高, import java.text.DateFor ...
- 计算两个日期之间的工作日
Go --创建函数(CSDN fredrickhu(小F)提供) CREATE FUNCTION f_WorkDay ( @dt_begin datetime, --计算的开始日期 @dt ...
- 【叶子函数分享二十三】计算两个日期之间的工作日
go --创建函数(CSDN fredrickhu(小F)提供) CREATE FUNCTION f_WorkDay ( @dt_begin datetime, --计算的开始日期 @dt ...
- SQL计算两个日期之间的工作日天数
https://blog.csdn.net/qq_37436998/article/details/85867729 参考这篇文章,先创建数据库,然后通过插入数据库一个函数,这样写SQL的时候就调用这 ...
- mysql 计算两个日期之间的工作日天数
2019独角兽企业重金招聘Python工程师标准>>> 创建透视表t500 建表 CREATE TABLE `t500` (`id` int(11) NOT NULL AUTO_IN ...
最新文章
- matlab 灰色Verhulst预测模型
- Git 合并两个不同的仓库
- 【java】java内存模型 (1)--基础
- Protobuf之proto文件编写规则
- app测试的过程和重点关注内容
- 一篇文章看懂Java并发和线程安全
- java中sql查找_Java 中如何使用 SQL 查询文本
- Sql Server卸载安装
- HTML网页之日历代码
- pic16 hex 逆向c语言,PIC单片机的十六进制文件格式:Hex文件
- 原来最强赘婿在二次元长这样,秒穿次元壁的AI特效又双叒火了
- dell系统重装后无法进入系统_戴尔装win7后无法进入系统怎么办?戴尔装win7后进不了系统解决方法...
- 视频目标分割数据集DAVIS(Denly-Annotated VIdeo Segmentation)解读
- 配置Hiveserver 高可用,新增Hiveserver2启动失败
- LaTeX给表格的一整行加删除线(横线)
- [回归初作]——edge浏览器的小游戏
- 第一届程序设计竞赛题解(E题)
- 基于Echarts实现可视化数据大屏大数据可视化
- select 检索数据
- 格雷希尔G72L系列法兰式密封快速连接器的应用
热门文章
- 起底AlphaGo历史
- java计算机毕业设计-图片展示及购买网站-源程序+mysql+系统+lw文档+远程调试
- 在线markdown生成html,从markdown生成静态html页面的最简单的方法
- 英语口语七十二之[走访亲友]
- 计算机组成原理XXH是什么,计算机组成原理第一次实验.doc
- 使用 CV2库进行摄像头照片获取
- 附近地点搜索解决方案之基于球面距离公式的算法
- matlab sift乘积量化,PQ(乘积量化)应用于ANN算法原理和代码解读
- NETDMIS5.0同轴度测量2023
- 蚁创互联:专注于社交电商全案操盘策划