这种方法比较通用
SQL> select to_date('04-07-2006','dd-mm-yyyy') from dual;TO_DATE('04-07-2006','DD-MM-YY
------------------------------
2006-7-4你的写法本身存在问题,而且这种写法受到nls_date_language 的限制:SQL> select TO_DATE('04-JUL-2006','dd-mon-yyyy') from dual;select TO_DATE('04-JUL-2006','dd-mon-yyyy') from dualORA-01843: 无效的月份SQL> alter session set nls_date_language = american;Session alteredSQL> select TO_DATE('04-JUL-2006','dd-mon-yyyy') from dual;TO_DATE('04-JUL-2006','DD-MON-
------------------------------
2006-7-4