CAFE

SQL Query Tips

임의의 범위 사이의 모든 수, 날짜 출력하기 (connect by level 절 사용)

작성자원쿼리맨|작성시간14.03.05|조회수299 목록 댓글 0

-- 1 부터 100 까지 출력

SELECT     LEVEL
      FROM DUAL
CONNECT BY LEVEL <= 100



버전에 따라서 아래와 같이 인라인뷰로 한 번 감싸줘야 할 필요도 있겠다.

SELECT *
  FROM (SELECT     LEVEL
              FROM DUAL
        CONNECT BY LEVEL <= 100)


-- 20050915 부터 20151130 까지 출력

SELECT     (TO_DATE ('20050915', 'YYYYMMDD') + LEVEL - 1) day#
      FROM DUAL
CONNECT BY (TO_DATE ('20050915', 'YYYYMMDD') + LEVEL - 1) <=
                                              TO_DATE ('20151130', 'YYYYMMDD')



마찬가지로, 버전에 따라 결과가 제대로 나오지 않을 경우 인라인뷰로 감싸준다.

SELECT *
  FROM (SELECT     (TO_DATE ('20050915', 'YYYYMMDD') + LEVEL - 1) day#
              FROM DUAL
        CONNECT BY (TO_DATE ('20050915', 'YYYYMMDD') + LEVEL - 1) <=
                                              TO_DATE ('20151130', 'YYYYMMDD'))


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼