Oracle插入日期数据常见的2个问题和解决方法
1、无效的月份问题
最近在往数据库中插入时间时,Oracle报“无效的月份问题”,具体SQL如下:
INSERTINTOTS_COUNT( ID,CNAME,STARTTIME,ENDTIME,VALUE )VALUES( 1,'John','01/06/2013','02/06/2013',800 );
报错:ORA-01843:无效的月份。这是由于日期格式不对造成的。
解决办法:
用selectsysdatefromdual;查看默认日期格式,然后按系统里的日期格式,输入就可以解决问题了。
2、日期插入格式问题
插入日期格式数据时,报ORA-01861:文字与格式字符串不匹配。
如果直接按照字符串方式,或者,直接使用to_date('2007-12-2810:07:24'),没有指定日期格式,就会报错:ORA-01861:文字与格式字符串不匹配,必须指定日期格式。
如下:
to_date('2007-12-2810:07:24','yyyy-mm-ddhh24:mi:ss')