SELECT *
FROM (
SELECT DT + LEVEL - 2 MYDATE, TO_CHAR(DT + LEVEL - 1, 'WW') WEEK
FROM (SELECT TRUNC(SYSDATE, 'YEAR') DT FROM DUAL)
CONNECT BY LEVEL <= ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), 12) - TRUNC(SYSDATE, 'YEAR')
)
WHERE WEEK = '51'
by 한만정도경영
[2018.12.18 12:21:35]
답변 감사합니다. 꾸벅
by 마농
[2018.12.20 09:28:16]
주차의 기준이 다양합니다.
시작일이 월요일인지? 일요일인지?
1주차의 시작을 어떻게 정할 것인지?
1월1일이 속한 주가 무조건 1주차인지?
1월1일이 한주의 중앙 이전에 해당되면 1주차인지?
보통은 그냥 ISO 표준을 따르게 되는데
월요일 시작일이고
1주차는 1월1일이 월화수목이면 그주가 1주차가 됩니다.
금토일인 경우에는 그주는 전년도 마지막 주차가 됩니다.
주차 구하기는 TO_CHAR(sysdate, 'iyyyiw') 로 간단하게 구할 수 있습니다.
표준이 아닌 다른 주차를 원한다면 정해진 규칙에 맞게 다시 작성해야 합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.