일정기간 혹은 한달간의 날짜 목록을 생성하려면 어떻게 해야할까.
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이 시작 날짜에 추가되므로 범위 사이의 모든 날짜가 생성된다.
'oracle' 카테고리의 다른 글
트랜잭션 커밋과 롤백 언제 어떻게 사용할까 (0) | 2023.01.13 |
---|---|
Oracle Case 조건문 사용하기 (0) | 2023.01.12 |
Oracle dual 빈 행과 level을 이용한 날짜 출력하기 (0) | 2023.01.10 |
ORACLE CASE 요일 조건문 (0) | 2023.01.09 |
ORACLE select 월의 첫날, 마지막 날 조회하기 (0) | 2022.12.30 |