oracle数据库 特定日期转换周期

一个日期转换为第几周,但是要 (**周日-周六**)
使用 IW 方式转换是周一到周日

SELECT TO_CHAR(to_date(‘20200513’,'yyyymmdd'),'IW')  from dual;

现在我想 (**周日-周六**)该怎么去修改呢?

其实计算周数的方法不变,只要将日期偏移1位,得到偏移后的值再计算第几周。
以20200105和20200112为例子,请看下面的结果:

代码段

SELECT '2020-01-05','周一~周日算法的周数',TO_CHAR(to_date('20200105','yyyymmdd'),'IW') week  from dual
union all
SELECT '2020-01-12','周一~周日算法的周数',TO_CHAR(to_date('20200112','yyyymmdd'),'IW') week  from dual
union all
SELECT '2020-01-05','周六~周日算法的周数',TO_CHAR(to_date('20200105','yyyymmdd')+1,'IW') week  from dual
union all
SELECT '2020-01-12','周六~周日算法的周数',TO_CHAR(to_date('20200112','yyyymmdd')+1,'IW') week  from dual

结果:

'2020-01-05'    '周一~周日算法的周数'  WEEK

1 2020-01-05 周一~周日算法的周数 01
2 2020-01-12 周一~周日算法的周数 02
3 2020-01-05 周六~周日算法的周数 02
4 2020-01-12 周六~周日算法的周数 03

更多问题可以关注我,或加我QQ/VX:316187205
O(∩_∩)O~