oracle

Oracle CONNECT BY 절과 LEVEL 을 이용한 날짜 목록 생성

구름Grum 2023. 1. 11. 15:12

일정기간 혹은 한달간의 날짜 목록을 생성하려면 어떻게 해야할까.

CONNECT BY 절과 LEVEL 을 이용해서 작성 할 수 있다.

   SELECT TO_DATE ('2023-01-01', 'YYYY-MM-DD') + LEVEL - 1
      FROM DUAL
CONNECT BY LEVEL <= TO_DATE ('2023-02-01', 'YYYY-MM-DD') 
                  - TO_DATE ('2023-01-01', 'YYYY-MM-DD');
                  
                  

결과



Oracle 관련 CONNECT BY 절과 LEVEL 을 사용하여 '2023-01-01'과 '2023-02-01'(포함) 사이의 날짜 목록을 생성하는 SQL 쿼리다.

쿼리는 TO_DATE() 함수를 사용하여 날짜 문자열을 날짜 데이터 유형으로 변환한 다음 종료 날짜에서 시작 날짜를 빼서 두 날짜 사이의 일 수를 계산하고

이를 사용하여 쿼리는 CONNECT BY LEVEL <= 일 수를 사용하여 반복해야 하며 각 반복에서 LEVEL이 시작 날짜에 추가되므로 범위 사이의 모든 날짜가 생성된다.