Oracle SQL - 周开始周日和周结束周六

时间:2021-04-09 13:29:32

标签: sql oracle date dayofweek

我有以下查询来显示日期列中的周开始和周结束。但它没有显示正确的数据。

trunc(account_date,'iw')-1 week_start,
trunc(account_date,'iw')+7 -1/86400 week_end

周开始应该是周日,周结束应该是周六。

从 01/02/2021 的结果(附)周末,06/02/2021 应该是 06/02/2021。

07/02/21 的周开始应该是 07/02/2021,周末应该是 13/02/2021

感谢任何帮助

TIA

亚瑟

enter image description here

1 个答案:

答案 0 :(得分:1)

Oracle 将星期一作为一周的开始,而您需要将其设为星期日。这就是我为 account_date 添加 +1 的原因。

接下来您要做的就是在一周的起始日增加 6 天。但是

trunc(account_date,'iw')-1 + 6 = trunc(account_date,'iw')+5

select account_date,  
       trunc(account_date + 1,'iw')-1 week_start,
       trunc(account_date + 1,'iw')+5 week_end
  from your_table;
相关问题