如何在 db2 中获得前一周的星期六 - 星期五

时间:2021-04-02 18:06:08

标签: db2 db2-luw

我希望将开始日期设为最后一个星期六,并将结束日期设为前一周的星期五。所以如果我今天跑步,开始日期应该是 3 月 19 日,结束日期应该是 3 月 26 日。报告运行日期为每周二。

SELECT (CURRENT DATE-(DAYOFWEEK(CURRENT DATE)-1)DAYS)-9 DAYS,
       (CURRENT DATE-(DAYOFWEEK(CURRENT DATE)-1)DAYS)-2 DAYS 
FROM "SYSIBM".SYSDUMMY1

不确定是否正确?

1 个答案:

答案 0 :(得分:0)

您可以使用 CTE 轻松验证您的日期计算是否正确:

with dates(d) as ( 
    values date('2021-03-01') 
    union all 
    select d + 1 day from dates where d < '2021-05-01'
) 
select d
    , (d - (DAYOFWEEK(d)-1) DAYS)-9 DAYS
    , (d - (DAYOFWEEK(d)-1) DAYS)-2 DAYS 
from dates 
order by d

这不是您问题的确切答案,但我不能 100% 确定我确实了解您的要求