[ORACEL] CONNECT BY LEVEL절

예원·2023년 1월 18일
0

CONNECT BY LEVEL 절이란?

계층 쿼리로, 연속된 숫자를 조회할 때 사용된다.

사용법

1 ~ 10까지 연속된 숫자 조회

CONNECT BY LEVEL <= ? 를 사용하면 1부터 ? 까지 LEVEL 값을 증가한다.

SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= 10

‘시작날짜 ~ 마지막날짜’ 연속된 날짜 조회

마지막날짜 - 시작날짜 + 1 을 통해 LEVEL을 몇까지 증가 할지 구할 수 있다.

이를 통해 연속된 날짜를 조회한다.

SELECT TO_CHAR(TO_DATE('20230101', 'YYYYMMDD') + (LEVEL-1), 'YYYYMMDD') AS "DATE"
FROM DUAL
CONNECT BY LEVEL <= TO_DATE('20230118', 'YYYYMMDD') - TO_DATE('20230101','YYYYMMDD')+1;


참고

https://meyouus.tistory.com/175
https://madinthe90.tistory.com/25

0개의 댓글