这篇文章主要介绍oracle中如何修改NLS_DATE_LANGUAGE,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、 NLS_DATE_LANGUAGE

下面是临时修改nls_date_language参数为中文,以方便当前会话导入'08-12月-1303.16.19.119000 下午'之类的数据。

报错ORA-01843: not a valid month解决

1、查看NLS_TIMESTAMP_FORMAT和NLS_DATE_LANGUAGE参数和SYSTIMESTAMP 数据格式

SQL>select * from v$nls_parameters;

PARAMETERVALUE

--------------------------------------------------------------------------------------------------------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORYAMERICA

NLS_CURRENCY$

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_CALENDARGREGORIAN

NLS_DATE_FORMATDD-MON-RR

NLS_DATE_LANGUAGE AMERICAN

NLS_CHARACTERSETZHS16GBK

NLS_SORTBINARY

NLS_TIME_FORMAT HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMATDD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMATHH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY$

NLS_NCHAR_CHARACTERSETAL16UTF16

NLS_COMPBINARY

NLS_LENGTH_SEMANTICSBYTE

NLS_NCHAR_CONV_EXCPFALSE

19 rowsselected

SQL>SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP

--------------------------------------------------------------------------------

11-FEB-1809.59.08.147761 AM +08:00

2、确定NLS_TIMESTAMP_FORMAT格式

如果参数NLS_TIMESTAMP_FORMAT格式不是DD-MON-RR HH.MI.SSXFF AM首先要调整该参数

调整该参数的命令:alter session setNLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH.MI.SS.FF8 AM';

注:该命令只是当前会话有用。

3、确定NLS_DATE_LANGUAGE格式

查看NLS_DATE_LANGUAGE是SIMPLIFIEDCHINESE还是AMERICA,如果是AMERICA需要修改成SIMPLIFIEDCHINESE,

才能显示中文上下午和月份,当前会话修改方法

SQL> ALTER SESSION SETnls_date_language='SIMPLIFIED CHINESE';

注:该命令只是当前会话有用。

4、修改后参数

SQL>select * from v$nls_parameters;

/

PARAMETERVALUE

--------------------------------------------------------------------------------------------------------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORYAMERICA

NLS_CURRENCY$

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_CALENDARGREGORIAN

NLS_DATE_FORMATDD-MON-RR

NLS_DATE_LANGUAGE SIMPLIFIEDCHINESE

NLS_CHARACTERSETZHS16GBK

NLS_SORTBINARY

NLS_TIME_FORMAT HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMATDD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMATHH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY$

NLS_NCHAR_CHARACTERSETAL16UTF16

NLS_COMPBINARY

NLS_LENGTH_SEMANTICSBYTE

NLS_NCHAR_CONV_EXCPFALSE

5、查看类型:

SQL>select systimestamp from dual;

/

SYSTIMESTAMP

--------------------------------------------------------------------------------

11-2月 -1809.38.29.190818 上午 +08:00

6、导入数据:

SQL> @

Importingtable SYS_AREA...

以上是“oracle中如何修改NLS_DATE_LANGUAGE”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!