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

时间:2021-11-04 04:47:00

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')