일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코딩
- 클래스
- 카카오코딩테스트
- 클라이언트
- 메소드
- Swing
- springboot
- HTML모드
- 멀티쓰레드
- 바인드변수
- 자바
- springDataJPA
- SwingCalendar
- 서버
- JPA Auditing
- 인스턴스
- 컬렉션프레임워크
- 생성자
- JavaScript
- 깃허브
- 템플릿엔진
- Oracle
- mavenCentral
- java
- Spring
- 상속
- jcenter
- 사용자관리프로그램
- 백준
- socket
- Today
- Total
프리 정보 컨텐츠
oracle connect by level 예제와 활용 본문
connect by level과 rownum을 활용한 간단한 예제를 알아보자.
oracle에서 connect by level을 사용하면 원하는만큼의 행을 리턴할 수 있어서
주로 날짜를 가져올 때 유용하게 사용한다.
select
rownum,
level as no
from
dual
connect by
level <= 10;
-- 현재년 1월부터 12월까지 달 출력
select
to_char(sysdate, 'yyyy') || '년 ' || lpad(level, 2, 0) || '월' Y_M
from
dual
connect by
level <= 12;
-- 특정 날짜 구간 조회
select
V_DATE
from
(
select
to_char(to_date('20211101', 'YYYY-MM-DD') + LEVEL - 1, 'YYYY-MM-DD') V_DATE
from
DUAL
connect by
LEVEL <= to_date('20211130', 'YYYY-MM-DD') - to_date('20211101', 'YYYY-MM-DD') + 1
);
-- connect by level 응용
select
trunc(sysdate, 'month') + (LEVEL - 1) as TDAY
from
DUAL
connect by
LEVEL <= (LAST_DAY(sysdate) - trunc(sysdate, 'month') + 1);