당주 기준 작년 주차 어떻게 구할까요? 0 2 963

by 날자~! [SQL Query] [2021.01.06 09:27:59]


당주가 202052 주차일때는 결과가 201952

당주가 202053 주차일때는 결과가 201952 ( 작년에 53주차 없을땐 , 해당 해의 마지막 주 )

가 나와야 됩니다.

 

by 마농 [2021.01.06 13:12:39]
WITH t AS
(
SELECT sysdate dt FROM dual
UNION ALL SELECT TO_DATE('20201221', 'yyyymmdd') FROM dual  -- 2020_52
UNION ALL SELECT TO_DATE('20201228', 'yyyymmdd') FROM dual  -- 2020_53
UNION ALL SELECT TO_DATE('20210104', 'yyyymmdd') FROM dual  -- 2021_01
)
SELECT dt
     , iyyy
     , iw
     , TO_CHAR(iyyy - 1) iyyy_pre
     , DECODE(TO_CHAR(NEXT_DAY(TO_DATE((iyyy-1)||'01', 'yyyymm') - 1, 5) - 3 + (iw-1)*7, 'iw')
       , iw, iw, iw-1) iw_pre
  FROM (SELECT dt
             , TO_CHAR(dt, 'iyyy') iyyy
             , TO_CHAR(dt, 'iw') iw
          FROM t
        )
;

 


by 날자~! [2021.01.06 13:42:12]

감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입