-- 특정 기간 표시(2018-08-19 ~ 2018-08-29)
SELECT TO_CHAR( TO_DATE( '20180819', 'YYYYMMDD' ) + LEVEL-1, 'YYYYMMDD' ) AS DAY
FROM DUAL
CONNECT BY LEVEL <=( TO_DATE( '20180829', 'YYYYMMDD' ) - TO_DATE( '20180819', 'YYYYMMDD' ) +1 )
DAY
20180819
20180820
20180821
20180822
20180823
20180824
20180825
20180826
20180827
20180828
20180829
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')||LPAD(LEVEL-1, 2, '0') AS DT
FROM DUAL CONNECT BY LEVEL-0 < 25;
DT
2018082900
2018082901
2018082902
2018082903
2018082904
2018082905
2018082906
2018082907
2018082908
2018082909
2018082910
2018082911
2018082912
2018082913
2018082914
2018082915
2018082916
2018082917
2018082918
2018082919
2018082920
2018082921
2018082922
2018082923
-- 다음과 같이 JOIN 을 이용하여 단순화(?) 할 수 있음
SELECT TO_CHAR( TO_DATE( S, 'YYYYMMDD' ) + LEVEL-1, 'YYYYMMDD' ) AS DAY
FROM (SELECT '20180819' S, '20180829' E FROM DUAL)
CONNECT BY LEVEL <=( TO_DATE( E, 'YYYYMMDD' ) - TO_DATE( S, 'YYYYMMDD' ) +1 );
'030. Database > 01. Oracle' 카테고리의 다른 글
[Oracle] 오라클 계정생성, 테이블 권한, 시노님 등 (0) | 2021.05.20 |
---|---|
[Oracle] 정규화표현식 처리 (0) | 2019.06.11 |
[Oracle] 테이블정의서 생성 구문 (0) | 2017.07.04 |
[Oracle] Session Kill (0) | 2016.12.13 |
[Oracle] 알쏭달쏭 복잡미묘한 힌트(HINT) (0) | 2016.07.22 |
WRITTEN BY
- 테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게