한컬럼에 데이터가 YYYYMM, YYYYMMDD, YYYYMMDDHH24:MI 등 여러 형식이 같이있습니다.
SELECT에서 YYYY-MM-DD HH24:MI 형식으로 조회하고싶은데,
TO_CHAR(날짜,'YYYY-MM-DD HH24:MI') 로 하면
ORA-01840 입력된 값의 길이가 날짜 형식에 비해 부족하다가 나옵니다
어떻게 해야하나요?
WITH t AS ( SELECT '201805' dt FROM dual UNION ALL SELECT '20180502' FROM dual UNION ALL SELECT '2018050321:30' FROM dual ) SELECT dt , TO_CHAR(TO_DATE( RPAD(REPLACE(dt, ':') || DECODE(LENGTH(dt), 6, '01'), 12, '0') , 'yyyymmddhh24mi'), 'yyyy-mm-dd hh24:mi') x FROM t ;
마농님 매번감사합니다~
201805일떄는 2018-05
20180502 일떄는 2018-05-02
201805022130 일떄는 2018-05-02 21:30 이렇게 나오려면
어떻게 해야할까요?
WITH t AS ( SELECT '201805' dt FROM dual UNION ALL SELECT '20180502' FROM dual UNION ALL SELECT '201805032130' FROM dual ) SELECT dt , DECODE(LENGTH(dt) , 6, TO_CHAR(TO_DATE(dt, 'yyyymm' ), 'yyyy-mm' ) , 8, TO_CHAR(TO_DATE(dt, 'yyyymmdd' ), 'yyyy-mm-dd' ) , 12, TO_CHAR(TO_DATE(dt, 'yyyymmddhh24mi'), 'yyyy-mm-dd hh24:mi') ) x FROM t ;