SQL> insert into test_date values('26-9月 -13 10.23.00.000 上午');----这样的语句有100多个。
insert into test_date values('26-9月 -13 10.23.00.000 上午')
*
ERROR at line 1:
ORA-01843: not a valid month ------解决方案--------------------
这个和数据库默认的日期格式有关,你可以通过 select * from V$NLS_PARAMETERS;查看NLS_DATE_LANGUAGE的值。(而且这个是SESSION级别的)
比如我当前session的NLS_DATE_LANGUAGE='SIMPLIFIED CHINESE',那么我直接可以用'12-4月-2013'的字符串格式插入到一个DATE类型的column中。
其实你也可以新开一个窗口建立一个新的SESSION,并且修改这个SESSION的NSL_DATE_LANGUAGE值为AMERICAN:ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';现在你可以在这个窗口中直接插入'12-JAN-2013'格式的字符串到DATE的COLUMN