sql

yyyymmdd를 종종 yyyy-mm-dd로 표현해야 할때..

무세1 2014. 7. 17. 16:05

20140717 값을 종종 2014-07-17 바꿔는 경우가 있다..

YYYYMMDD  -> YYYY-MM-DD


WITH T AS (

    SELECT '20140717' DD FROM DUAL

)

SELECT  DD

        , SUBSTR(DD, 1, 4)||'-'||SUBSTR(DD, 5, 2)||'-'||SUBSTR(DD, 7) DD1

        , TO_CHAR(TO_DATE(DD, 'YYYYMMDD'), 'YYYY-MM-DD') DD2

        , REGEXP_REPLACE(DD, '(....)(..)(..)', '\1-\2-\3') DD3

FROM    T  


보통 SUBSTR이나 TO_CHAR를 많이 사용 했으나..

정규식으로 표현하는 방법도 있다..