Oracle如何处理复杂不规范的时间字符串

使用多种方式把数字的和有中文日期时间的字符串格式化为标准的 yyyy-mm-dd hh24:mi 格式对于格式化报错无法格式化的输出空字符串

select SYSDATE from dual t;--系统日期

select TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS') from dual t;--格式化日期

select TO_DATE('20140630 18:28:20','YYYY/MM/DD HH24:MI:SS') from dual t;--格式化日期

select sysdate,sysdate - interval '7' MINUTE from dual;--当前时间减去7分钟的时间

select sysdate - interval '7' hour from dual;--当前时间减去7小时的时间

select sysdate - interval '7' day from dual;--当前时间减去7天的时间

select sysdate,sysdate - interval '7' month from dual;--当前时间减去7月的时间

select sysdate,sysdate - interval '7' year from dual;--当前时间减去7年的时间

select sysdate,sysdate - 8*interval '7' hour from dual;--时间间隔乘以一个数字

select to_number('222.2') from dual t;--输出222.2

select to_char(10000000000,'$999,999,999,99') from dual;--按格式输出

select to_char(1000000,'L99,999,99') from dual;--输出 RMB10,000,00

select trunc(to_number('1000000.123'),3) from dual;--保留三位有效数字

写个函数函数,使用to_date穷举所有能看到的日期格式,函数处理中,对于某一种格式转换正常就return,否则就尝试下一种格式,直到所有格式找完都无法转化,就return个空
以下是几种常见日期字符串格式的转换
to_date(字段,'yyyymmdd')
to_date(字段,'yyyy-mm-dd')
to_date(字段,'yyyy-mm-dd hh24:mi:ss')