如何在 db2 中获取星期六 - 前一周的星期五
how to get Saturday - Friday of prior week in db2
我希望开始日期是上周六的最后一天,结束日期是上一周的周五。因此,如果我今天 运行,则开始日期应为 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% 确定我确实理解了你的要求
我希望开始日期是上周六的最后一天,结束日期是上一周的周五。因此,如果我今天 运行,则开始日期应为 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% 确定我确实理解了你的要求