NLS_DATE_LANGUAGE
下面是临时修改nls_date_language参数为中文,以方便当前会话导入'08-12月-13 03.16.19.119000 下午'之类的数据。
报错ORA-01843: not a valid month解决:
1、查看NLS_TIMESTAMP_FORMAT和NLS_DATE_LANGUAGE参数和SYSTIMESTAMP 数据格式
SQL> select * from v$nls_parameters;
SQL> SELECT SYSTIMESTAMP FROM DUAL;
2、确定NLS_TIMESTAMP_FORMAT格式
如果参数NLS_TIMESTAMP_FORMAT格式不是DD-MON-RR HH.MI.SSXFF AM首先要调整该参数
调整该参数的命令:alter session set NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH.MI.SS.FF8 AM';
注:该命令只是当前会话有用。
3、确定NLS_DATE_LANGUAGE格式
查看NLS_DATE_LANGUAGE是SIMPLIFIED CHINESE还是AMERICA,如果是AMERICA需要修改成SIMPLIFIED CHINESE,
才能显示中文上下午和月份,当前会话修改方法
SQL> ALTER SESSION SET nls_date_language='SIMPLIFIED CHINESE';
注:该命令只是当前会话有用。
4、修改后参数
SQL> select * from v$nls_parameters;
5、查看类型:
SQL> select systimestamp from dual;