oracle两个日期间隔相差工作日数
69浏览 · 2023-07-26 18:44:22
你可以使用以下SQL语句来计算两个日期之间的工作日数:
SELECT COUNT(*) AS [work](https://geek.csdn.net/educolumn/47ab1caef183afde7ef2bf49aa2fdc7a?spm=1055.2569.3001.10083)DAYS
FROM (
SELECT ROWNUM AS RN
FROM DUAL
CONNECT BY ROWNUM <= (enddate - [start](https://geek.csdn.net/educolumn/4a85bcdc6688705d0adf9b14887214ae?spm=1055.2569.3001.10083)date) + 1
WHERE TO_CHAR([start](https://geek.csdn.net/educolumn/4a85bcdc6688705d0adf9b14887214ae?spm=1055.2569.3001.10083)date + RN - 1, 'D') NOT IN (1,7);
其中,[start](https://geek.csdn.net/educolumn/4a85bcdc6688705d0adf9b14887214ae?spm=1055.2569.3001.10083)date和enddate是你要计算的两个日期。这个SQL语句的思路是生成一个从[start](https://geek.csdn.net/educolumn/4a85bcdc6688705d0adf9b14887214ae?spm=1055.2569.3001.10083)date到enddate之间的日期序列,然后通过过滤掉周六和周日来计算工作日数。