Oracle插入日期数据常见的2个问题和解决方法


  本文标签:Oracle,插入日期数据

1、无效的月份问题

最近在往数据库中插入时间时,Oracle报“无效的月份问题”,具体SQL如下:

复制代码 代码如下:
INSERT INTO TS_COUNT (  
    ID,CNAME, STARTTIME, ENDTIME,VALUE  
) VALUES (  
    1, John, 01/06/2013, 02/06/2013, 800  
); 

报错:ORA-01843:无效的月份 。这是由于日期格式不对造成的 。

解决办法:
用select sysdate from dual; 查看默认日期格式,然后按系统里的日期格式,输入就可以解决问题了 。

2、日期插入格式问题

插入日期格式数据时,报ORA-01861: 文字与格式字符串不匹配 。
如果直接按照字符串方式,或者,直接使用to_date(2007-12-28 10:07:24),没有指定日期格式,就会报错:ORA-01861: 文字与格式字符串不匹配,必须指定日期格式 。
如下:

复制代码 代码如下:
to_date(2007-12-28 10:07:24 , yyyy-mm-dd hh24:mi:ss)