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/"
相关推荐
廋到被风吹走1 分钟前
【数据库】【Oracle】SQL基础
数据库·sql·oracle
曹牧21 分钟前
Oracle统计每日发生次数
数据库·oracle
范纹杉想快点毕业33 分钟前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
辗转.95333 分钟前
MongoDB入门指南:从零开始掌握NoSQL数据库
数据库·mongodb·nosql
有什么东东36 分钟前
山东大学软件学院2024-2025非关系型数据库背诵整理
数据库·nosql
李少兄37 分钟前
一文搞懂什么是关系型数据库?什么是非关系型数据库?
数据库·redis·mysql·mongodb·nosql
ja哇37 分钟前
NoSql数据库原理期末(课后思考题)
数据库·nosql
会开花的二叉树38 分钟前
即时通讯系统核心模块实现
数据库·mysql·elasticsearch
少云清1 小时前
【接口测试】5_PyMySQL模块 _数据库工具类封装
数据库·pymysql
小光学长2 小时前
基于ssm旅游管理系统的开发与设计z050cft7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·旅游