日次書式モデル ISO 8601標準 IW, IYYY
SQL
1ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD' ;
2
3SELECT
4 TO_CHAR(A.YMD, 'YYYY/MM/DD IYYYIW') AS YMD
5FROM(
6 SELECT TO_DATE('2019/01/01', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
7 SELECT TO_DATE('2019/03/30', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
8 SELECT TO_DATE('2019/03/31', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
9 SELECT TO_DATE('2019/04/01', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
10 SELECT TO_DATE('2019/04/07', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
11 SELECT TO_DATE('2019/04/08', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
12 SELECT TO_DATE('2019/12/31', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
13 SELECT TO_DATE('2020/01/01', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
14 SELECT TO_DATE('2020/03/30', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
15 SELECT TO_DATE('2020/03/31', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
16 SELECT TO_DATE('2020/04/01', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
17 SELECT TO_DATE('2020/04/07', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
18 SELECT TO_DATE('2020/04/08', 'YYYY/MM/DD') AS YMD FROM DUAL UNION ALL
19 SELECT TO_DATE('2020/12/31', 'YYYY/MM/DD') AS YMD FROM DUAL
20 ) A ;
21
22YMD
23----------------------------------
242019/01/01 201901
252019/03/30 201913
262019/03/31 201913
272019/04/01 201914
282019/04/07 201914
292019/04/08 201915
302019/12/31 202001
312020/01/01 202001
322020/03/30 202014
332020/03/31 202014
342020/04/01 202014
352020/04/07 202015
362020/04/08 202015
372020/12/31 202053
38
3914行が選択されました。
だから、
IW > 13 は マイナス 13 それ以外はプラス13 で 4月頭頃(4月1日が初日ではない)を年度の第1週とするFUNCTIONを作って対応しては?
これで良いかは社内できちんと検討してください。