当前位置:   article > 正文

数据库增加2024年所有法定节假日并去除调休SQL_2024年节假日日历 sql

2024年节假日日历 sql

需求背景

在很多业务场景中,需要特殊考虑到一些特殊的法定节假日,这些日期在实际对的业务逻辑中需要特殊计算,所以就需要在对应的库表中增加对应的日期记录,在实际操作时进行绕过

实现方式

数据库中根据国家规定增加对应日期的调休,即周末也可能为工作日的情况,本次操作执行参考2024年所有调休以及法定节假日(包含双休),使用sql插入数据,有需要可以根据以下SQL进行调整

2024放假安排

2024放假安排

插入SQL

以下为插入所有节假日的日期的sql

INSERT
	INTO
	T_HOLIDAY
  (ID,DATE_STR)
  SELECT
	ROW_NUMBER() OVER(ORDER BY DAY_YMD)  AS ID,
	DAY_YMD DATE_STR
FROM
	(
	SELECT
		DAY_YMD,
		CASE
			WHEN DAY_YMD IN
                ('20240101', '20240212',
                 '20240213', '20240214', '20240215', '20240216',
                 '20240404', '20240405', 
                 '20240501', '20240502', '20240503', '20240610',
                 '20240916', '20240917',
                 '20241001', '20241002', '20241003', '20241004',
                 '20241007') THEN
            '3'
			WHEN DAY_YMD IN ('20240204', '20240218', '20240407',
                 '20240428', '20240511', '20240914', '20240929', '20241012') THEN
            '1'
			ELSE
            DAY_TYPE
		END DAY_TYPE
	FROM
		(
		SELECT
			DAY_YMD,
			CASE
				WHEN TRIM(TO_CHAR(TO_DATE(DAY_YMD, 'yyyyMMdd'), 'day')) IN
                        ('星期六', '星期日') THEN
                    '2'
				ELSE
                    '1'
			END DAY_TYPE
		FROM
			(
			SELECT
				TO_CHAR(TO_DATE('20240101', 'yyyyMMdd') + ROWNUM - 1,
                                 'yyyyMMdd') AS DAY_YMD
			FROM
				DUAL
			CONNECT BY
				ROWNUM <=
                             TRUNC(TO_DATE('20241231', 'yyyyMMdd') -
                                   TO_DATE('20240101', 'yyyyMMdd')) + 1)))
	WHERE DAY_TYPE IN (2, 3);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/103555
推荐阅读
相关标签
  

闽ICP备14008679号