SELECT TRUNC(TO_DATE('202101', 'YYYYMM'),'MM'), TO_CHAR(TRUNC(TO_DATE('202101', 'YYYYMM'),'MM'),'IW')
FROM DUAL
이렇게 하면
21/01/01 날짜가 나오는데 주차는 53으로 찍히는데
이걸 혹시 1주차로 찍히게 하려면 어떻게 해야할까요..?
그리고 혹시 해당 달이 몇주짜리 달인지 구하는 방법에 대해 팁을 주시면 제가 해보겠습니다.ㅠ
제가 생각한거는 마지막 날짜 주차 - 첫날짜 주차를 빼면 될거 같았는데
위의 질문처럼 53주로 나와버리니까 21년도는 제대로 출력이 안되더라구요..
1. 위에 IW 의 기준은 (월화수목금토일) 기준으로
- 1월1일이 속한 주의 1월 일자가 반 이상을 차지할 때 1주차가 됩니다.
- 전년도 12월의 일자가 반이상을 차지하게 되면 53주차 또는 52주차 가 되겠네요.
2. 우선 뽑고자 하는 주차에 대한 정확한 정의를 해야 합니다.
- 일주일의 시작은? (월요일 vs 일요일 vs 1월1일)
3. 년도가 겹치는 주차의 처리 기준은?
- 더 많이 차지하고 있는 년도의 주차로 처리?
- 일주일의 년도별 분포와 상관 없이 1월1일은 무조건 1주차가 되어야 한다?
- 일주일을 다시 쪼개어 12월은 53주차가 되고, 1월은 1주차가 되어야 한다?