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/"
相关推荐
m0_518019481 小时前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
weixin_421922691 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
Fortune791 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python
cm6543201 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
无心水1 小时前
时间处理工程落地指南:数据库/日志/API/定时任务
java·大数据·数据库·日志·分布式架构·utc·gmt
2401_846341651 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
岁岁种桃花儿2 小时前
AI超级智能开发系列从入门到上天第十篇:SpringAI+云知识库服务
linux·运维·数据库·人工智能·oracle·llm
CHQIUU2 小时前
PostgreSQL vs MySQL:选型指南与深度对比
数据库·mysql·postgresql
安徒生梦话2 小时前
Mysql Mvcc理解
mysql
qq_416018722 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python