데이터베이스/DB2

[DB2] CONNECT BY LEVEL (ORACLE -> DB2)

만랩사원 2011. 8. 4. 10:28
반응형

oracle의 경우,

SELECT 
    TO_CHAR(TO_DATE('201106','YYYYMM') + LEVEL-1, 'YYYYMMDD') AS DT, 
    TO_CHAR(TO_DATE('201106','YYYYMM') + LEVEL-1, 'DAY') AS WEEK
FROM DUAL 
CONNECT BY LEVEL <= TRUNC(TO_DATE('201106','YYYYMM')+32,'MM') - to_date('201106','YYYYMM')

DB2의 경우,

WITH DateRange(dt) AS  
(  
SELECT date('2011-06-01') AS dt FROM dual  
UNION ALL  
SELECT (date(dt) + 1 day) AS dt FROM DateRange WHERE dt < (date('2011-07-01') - 1 day)  
)  
SELECT  to_char(A.dt,'YYYYMMDD') as dt  FROM DateRange A  



반응형