📌  相关文章
📜  oracle 列出没有周末的日期 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:19.519000             🧑  作者: Mango

Oracle 列出没有周末的日期 - SQL

在 Oracle 数据库中,如果需要列出没有周末的日期,可以使用以下 SQL 语句:

SELECT *
FROM (
  SELECT TRUNC(SYSDATE + LEVEL - 1) dt
  FROM dual
  CONNECT BY LEVEL <= 365
)
WHERE TO_CHAR(dt, 'D') NOT IN (6, 7)
ORDER BY dt;

该 SQL 语句使用了 dual 表和 connect by level 语句生成 365 天的日期,然后通过 TO_CHAR 函数获取每个日期的星期几,并过滤掉星期六和星期天,最终按日期排序并返回查询结果。

需要注意的是,该 SQL 语句仅适用于未考虑假日和国家法定节假日的情况。如果需要考虑这些因素,请使用更为复杂的算法。