DB2 계층쿼리 0 0 1,348

by 트집이 [SQL Query] DB2 [2018.12.19 08:13:56]


안녕하세요. 

현재날짜를 기준으로 그 달의 주차를 표시하는 쿼리를 만들었습니다.

주 시작은 월요일 부터 일요일까지로 하는 주 단위 날짜를 뽑고 싶어서 아래와 같은 쿼리를 만들었는데...

"계층 쿼리에서 주기가 감지되었습니다. -20451" 라는 에러메세지가 뜨네요. 

원인과 해결방법을 찾지 못 하여 문의 드립니다.

 

SELECT  DISTINCT 'W' || TO_CHAR(DT - LEVEL + 1, 'IW') AS MON
      , TRUNC(DT - LEVEL + 1, 'IW') AS W_START_DATE
      , TRUNC(DT - LEVEL + 1, 'IW') + 6 AS W_END_DATE
FROM    ( SELECT TO_DATE('2018-12-18', 'YYYY-MM-DD') DT FROM DUAL )
CONNECT BY LEVEL <= SUBSTR('2018-12-18', 9);

 

아래와 같은 결과가 나오면 됩니다.

MON W_START_DATE W_END_DATE
W48 2018-11-26 오전 12:00:00 2018-12-02 오전 12:00:00
W49 2018-12-03 오전 12:00:00 2018-12-09 오전 12:00:00
W50 2018-12-10 오전 12:00:00 2018-12-16 오전 12:00:00
W51 2018-12-17 오전 12:00:00 2018-12-23 오전 12:00:00
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입