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/"
相关推荐
TDengine (老段)8 分钟前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师16 分钟前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大1 小时前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
高溪流2 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_992 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
一 乐3 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
黄宝康3 小时前
sqlyog密钥亲测有效
mysql
Codeking__3 小时前
Redis初识——什么是Redis
数据库·redis·mybatis
YIN_尹3 小时前
【MySQL】数据类型(上)
android·mysql·adb
k***1953 小时前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring