问题描述
我有以下查询来显示日期列中的周开始和周结束。但它没有显示正确的数据。
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
亚瑟
解决方法
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,'iw')+5 week_end
from your_table;