1 2 3 4 5 6 7 8 9 10 11 12 13 14 | WITH t AS ( SELECT '20200725' i_dt FROM dual UNION ALL SELECT '01.Mar.2023' FROM dual UNION ALL SELECT '10/01/2022' FROM dual ) SELECT i_dt , DECODE(LENGTH(i_dt) , 8, i_dt , 10, TO_CHAR(TO_DATE(i_dt, 'mm/dd/yyyy' ), 'yyyymmdd' ) , 11, TO_CHAR(TO_DATE(i_dt, 'dd.Mon.yyyy' , 'nls_date_language=american' ), 'yyyymmdd' ) ) o_dt FROM t ; |