[오라클 함수] 오라클(Oracle) 기간 내 모든 일자(날짜) 구하기
보통 Calendar 테이블을 만들어놓고 사용하는 경우가 많으나
없는 경우에는 쿼리를 사용하여 기간 내 모든 일자를 뽑아낼 수 있다.
먼저, 기간 내 일 수를 구한다.
기간 내 일 수는 TO_DATE 에서 FROM_DATE를 빼주고, 1을 더해준다.
<기간 내 일 수>
CONNECT BY 를 이용하여 기간 내 일 수 만큼 로우를 생성하도록 하고,
시작일부터 LEVEL -1 씩 더해가며 날짜를 구한다.
SELECT TO_CHAR(TO_DATE('20200901','YYYYMMDD') + (LEVEL-1), 'YYYYMMDD') AS "DATE"
FROM DUAL
CONNECT BY LEVEL <= TO_DATE('20201002','YYYYMMDD') - TO_DATE('20200901','YYYYMMDD') + 1
<기간 내 일자 구하기>
캘린더 테이블이 따로 없는 경우 위와 같이 원하는 기간 내 일자를 모두 뽑아서 쿼리에서 사용하면 된다.
최근댓글