尽管您正在使用
to_date正确的格式模型来将其显式转换为日期,但仍然
ORA-01843似乎出现了问题
NLS_DATE_LANGUAGE。在这里阅读更多有关它的信息。
SQL> DROp TABLE t PURGE;Table dropped.SQL> CREATE TABLE t(A DATE);Table created.SQL> ALTER SESSION SET NLS_DATE_LANGUAGE='FRENCH';Session altered.SQL> SELECT * FROM nls_session_parameters WHERe parameter = 'NLS_DATE_LANGUAGE';PARAMETER VALUE-------------------- ----------NLS_DATE_LANGUAGE FRENCHSQL> INSERT INTO t VALUES(to_date('01-jan-2012','dd-mon-yyyy'));INSERT INTO t VALUES(to_date('01-jan-2012','dd-mon-yyyy')) *ERROR at line 1:ORA-01843: not a valid month所以,我遇到了错误的 NLS_DATE_LANGUAGE 错误。让我们将其设置为 AMERICAN 。
SQL> ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';Session altered.SQL> SELECt * FROM nls_session_parameters WHERe parameter = 'NLS_DATE_LANGUAGE';PARAMETER VALUE-------------------- ----------NLS_DATE_LANGUAGE AMERICANSQL> INSERT INTO t VALUES(to_date('01-jan-2012','dd-mon-yyyy'));1 row created.SQL>更新 至OP的已编辑问题-
我的日期语言参数设置为“法语”。我可以将其更改为“ AMERICAN”吗?
从文档开始,
以下是设置NLS参数的方法。 注意优先顺序。



