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

如何在db2中获取前一周的星期六-星期五,db2,db2-luw,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 不确定是否正确?您可以使

我希望得到的开始日期为最后一个星期六和结束日期为前一周的星期五。所以如果我今天跑步,开始日期应该是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

不确定是否正确?

您可以使用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%确定我是否理解您的要求

您设计的查询是什么,哪些不起作用?请发布您的SQL语句,以便我们提供帮助。@data\u henrik:目前我选择了CURRENT DATE-DAYOFWEEKCURRENT DATE-1DAYS-9天,CURRENT DATE-DAYOFWEEKCURRENT DATE-1DAYS-2天,来自SYSIBM.SYSDUMMY1,它可以工作,但不确定我是否在星期二运行,它是否可以工作相同?请在公式中输入不同的日期,然后手动计算结果。