【发布时间】:2021-08-12 17:30:18
【问题描述】:
我有一张表格,其中包含过去 10 年和未来 20 年的日期。我想参考今天(sysdate)计算日期是否在最近 7 个工作日(周)内,如下面的示例表所示(填充最后一列 IsInLast7WorkingDays)。
假设:周六和周日是非工作日。
TODAY CAL_DATE ISWEEKDAY IsInLast7WorkingDays
8/12/2021 8/1/2021 N N
8/12/2021 8/2/2021 Y N
8/12/2021 8/3/2021 Y Y
8/12/2021 8/4/2021 Y Y
8/12/2021 8/5/2021 Y Y
8/12/2021 8/6/2021 Y Y
8/12/2021 8/7/2021 N N
8/12/2021 8/8/2021 N N
8/12/2021 8/9/2021 Y Y
8/12/2021 8/10/2021 Y Y
8/12/2021 8/11/2021 Y Y
8/12/2021 8/12/2021 Y N
8/12/2021 8/13/2021 Y N
8/12/2021 8/14/2021 N N
8/12/2021 8/15/2021 N N
8/12/2021 8/16/2021 Y N
8/12/2021 8/17/2021 Y N
8/12/2021 8/18/2021 Y N
8/12/2021 8/19/2021 Y N
8/12/2021 8/20/2021 Y N
TODAY CAL_DATE ISWEEKDAY IsInLast7WorkingDays
8/14/2021 8/1/2021 N N
8/14/2021 8/2/2021 Y N
8/14/2021 8/3/2021 Y N
8/14/2021 8/4/2021 Y N
8/14/2021 8/5/2021 Y Y
8/14/2021 8/6/2021 Y Y
8/14/2021 8/7/2021 N N
8/14/2021 8/8/2021 N N
8/14/2021 8/9/2021 Y Y
8/14/2021 8/10/2021 Y Y
8/14/2021 8/11/2021 Y Y
8/14/2021 8/12/2021 Y Y
8/14/2021 8/13/2021 Y Y
8/14/2021 8/14/2021 N N
8/14/2021 8/15/2021 N N
8/14/2021 8/16/2021 Y N
8/14/2021 8/17/2021 Y N
8/14/2021 8/18/2021 Y N
8/14/2021 8/19/2021 Y N
8/14/2021 8/20/2021 Y N
提前致谢。
编辑:我想我应该提到我已经有一个包含日期和“isweekday”的表格。今天是从以下查询中的 sysdate 派生的。
select b.today, a.cal_date, a.isweekday
from DATE_SRK a, (select trunc(sysdate)+4 today from dual) b
order by a.cal_date;
【问题讨论】:
-
而且您要每天修改表格中的这些日期?你为什么不把 ISWEEKDAY 和一些 sysdate 比较结合起来得到最后 7 天?
-
@CaiusJard - 不,我已经有一个包含日期和“isweekday”的表格。我正在构建查询,今天是 sysdate。 select b.today, a.cal_date, a.isweekday from DATE_SRK a, (select trunc(sysdate)+4 today from dual) b order by a.cal_date;