sql 计算工作日数

一、创建表

CREATE TABLE non_working_days (

`date` date NOT NULL

)

2023-01-25

2023-04-02

2023-04-22

2023-08-20

2023-09-29

二、函数

复制代码
CREATE FUNCTION calculate_workday(start_time DATE, end_time DATE)
    RETURNS INT
BEGIN
    DECLARE day_diff INT;

    SELECT   DATEDIFF(end_date, start_date) + 1 - COUNT(non_working_days.date) into day_diff
    FROM  non_working_days
              CROSS JOIN
          (SELECT start_time AS start_date,end_time AS end_date) AS date_range
    WHERE  non_working_days.date BETWEEN start_date AND end_date;

    RETURN day_diff;
END

三 测试

复制代码
-- 测试
SELECT calculate_workday('2024-02-20 12:12:01', '2024-02-29')

四、 第三方获取假期接口

复制代码
"https://timor.tech/api/holiday/year/"
相关推荐
找不到、了8 分钟前
MySQL的FEDERATED存储引擎详解
数据库·mysql
小希smallxi8 分钟前
Windows平台一键启动Redis脚本
数据库·windows·redis
刘冲溟9 分钟前
解决 idea 编辑sql文件换行后自动缩进的问题
sql·idea·缩进
写代码的小阿帆9 分钟前
MySQL索引原理与性能优化
数据库·mysql·性能优化
小蒜学长11 分钟前
python基于Python的医疗机构药品及耗材信息管理系统(代码+数据库+LW)
数据库·spring boot·后端·python
星光一影12 分钟前
同城搭子活动组局H5系统源码-伴伴搭子系统源码
vue.js·mysql·php·uniapp
千寻技术帮19 分钟前
10363_基于SSM的农机租赁管理系统
mysql·毕业设计·ssm·源码·农机租赁
是阿威啊24 分钟前
企业级的RDD、 Spark SQL、DataFrame、Dataset使用场景介绍
大数据·sql·spark
xUxIAOrUIII32 分钟前
【数据库原理】期末复习(初稿)
数据库·笔记
Pocker_Spades_A32 分钟前
AI Ping 上线 GLM-4.7 与 MiniMax M2.1:两款国产旗舰模型免费用!
大数据·数据库·人工智能