赞
踩
在很多业务场景中,需要特殊考虑到一些特殊的法定节假日,这些日期在实际对的业务逻辑中需要特殊计算,所以就需要在对应的库表中增加对应的日期记录,在实际操作时进行绕过
在数据库中根据国家规定增加对应日期的调休,即周末也可能为工作日的情况,本次操作执行参考2024年所有调休以及法定节假日(包含双休),使用sql插入数据,有需要可以根据以下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);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。