客服端 NLS_LANG 环境变量对 NLS_DATE_FORMAT 参数设置的影响
一. NLS_LANG , 这个参数作为环境变量配置于 .bash_profile ( LINUX) 中(在windows 中,配置于注册表中)。 其作用主要用于设置oracle客服端工具的语言环境,如sql*plus这样的工具。其格式主要用三部分组成: 语言, 区域, 字符集 。 语法格式为: NLS_LANG=language_territory.charset , 其中language 表示语言部分, territory表示区域, charset 表示字符集。 eg: 'SIMPLIFIED CHINESE'_SINGAPORE.ZHS16GBK 。
二. NLS_DATE_FORMAT , 这个参数是实例级的, 设置spfile或者pfile 文件中。 其设置主要用于控制 date 类型数据的格式化输出。 同时其作用域 session级,instance级, 也说明这个参数可以在session 中改变,各个session可以有不设置不同 date格式。 如果没在session中设置这个参数,date的输出格式,就会遵从 参数文件中的设置 。
三. NLS_LANG 和 NLS_DATE_FORMAT 的关系。
在windows中, 通过修改参数文件中 NLS_DATE_FORMAT 往往不能达到修改 date 的输出格式。 但是如果你修改 注册表中NLS_LANG参数而又能达到修改date 的输出格式。这就给人一个感觉就是 nls_lang参数的设置要优先于参数文件中设置NLS_DATE_FORMAT 参数 。 但是 如果你在session中设置了 nls_date_format的话,date的格式 又会遵从于session中的设置 。 这又说明 在nls_lang 参数的设置的优先级又小于 session中 nls_date_format的设置。
四. 实验(linux + oracle 10.1.0.3 )
1.测试环境:
SQL> select * from v$version ;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
PL/SQL Release 10.1.0.3.0 - Production
CORE 10.1.0.3.0 Production
TNS for Linux: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production
2.测试代码
[oracle@localhost oracle]$ export NLS_LANG=english_america.UTF8
[oracle@localhost oracle]$ sqlplus "/as sysdba"
SQL*Plus: Release 10.1.0.3.0 - Production on Thu Jun 2 06:13:56 2011
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> show parameter nls_date_format
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_date_format string yyyy-dd-mm
SQL> select sysdate from dual ;
SYSDATE
---------------
02-JUN-11
SQL> alter session set nls_date_format='yyyy-mm' ;
Session altered.
SQL>
SQL> select sysdate from dual ;
SYSDATE
-------
2011-06
SQL> conn /as sysdba
Connected.
SQL> select sysdate from dual ;
SYSDATE
---------------
02-JUN-11
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25380220/viewspace-697275/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25380220/viewspace-697275/