【发布时间】:2025-12-19 06:15:15
【问题描述】:
给出一个日期,例如(2013 年 5 月 11 日,即星期六)。我必须在此日期之前找到 7 个工作日(周一至周五)。那是 2013 年 5 月 3 日,即星期五。我知道如何找出两个日期之间的工作日。作者:-
SELECT from_date- todate - ((
TRUNC (NEXT_DAY (from_date, 'SAT') - NEXT_DAY (todate - 1, 'SAT')) / 7) + (
TRUNC (NEXT_DAY (from_date, 'SUN') - NEXT_DAY (todate - 1, 'SUN')) / 7)) + 1
FROM dual;
但是现在我只有一个给定的日期,并且必须找到这一天之前的第 7 天(根据工作日!)
【问题讨论】:
-
请定义“工作日”。谢谢。
-
工作日表示周一至周五............已编辑
-
所以星期一出现的假期被认为是工作日。
-
@EvilTeach 在任何其他情况下你需要有一个预定义的假期表,OP 没有提到它的存在;)
-
是的 :) 在假期工作并不是什么新鲜事
标签: sql oracle oracle11g oracle-sqldeveloper