ORA-01830问题的解决


Oracle Tips — 作者 wonder @ 22:52
今天在 DRM中报错ora-01830

把sql语句输出作了以下的实验,发现是时间多了一个.0

后来的办法是先把这个时间转成to_char,再转成to_date

SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual;

select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual

ORA-01830: 日期格式图片在转换整个输入字符串之前结束

SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual;

select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual

ORA-01836: 小时与日中的秒发生冲突

SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual;

select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual

ORA-01836: 小时与日中的秒发生冲突

SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual;

select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual

ORA-01821: 日期格式无法识别

------------------------------------------------------------------

必须保证传入的字符串和要转换的格式精确匹配

SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24') A FROM dual;

ERROR:
ORA-01830: date format picture ends before converting entire input string.

SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24:MI:SS') B FROM dual;

B
---------
11-OCT-96  
 

你可能感兴趣的:(Oracle技术)