ITPub博客

首页 > Linux操作系统 > Linux操作系统 > nls_date_format参数设置问题

nls_date_format参数设置问题

原创 Linux操作系统 作者:jifei0611 时间:2009-12-05 09:49:06 0 删除 编辑

环境:

OS: Red Hat Enterprise Linux AS release 4 (Nahant Update 2)

DB: 10.2.0.1.0

关于nls_date_format的说明:

NLS_DATE_FORMAT specifies the default date format to use with the TO_CHAR and TO_DATE functions. The default value of this parameter is determined by NLS_

TERRITORY.

昨天为了测试把两台测试库的nls_date_format参数修改了

SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;

这个参数不可动态修改.

修改完后,由于其它的事,就没进行后续的测试了.(这个参数的对我的实验来并不非修改不可)

今天在确认是发现了下面的问题

SQL> select sysdate from dual;

上面的语句在两台测试机的结果不相同,分别是:

SYSDATE

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

05-DEC-09

 

SYSDATE

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

2009-12-05 09:12:06

记得重起过数据了

在会话级别上修改nls_date_format参数又有效

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

 

Session altered.

 

SQL> select sysdate from dual;

 

SYSDATE

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

2009-12-05 09:15:07

怀疑忘记重起了,重起了再试还是不行

SQL>show parameter nls_date在两台测试库上结果机同

SQL> col PARAMETER for a35

SQL> col value for a30

SQL> select * from nls_session_parameters;

发现两台数据的nls_date_format不同

NLS_DATE_FORMAT                     yyyy-mm-dd hh24:mi:ss

 

NLS_DATE_FORMAT                     DD-MON-RR

通过putty连接到测试机的,导致上面的SQL结果不同的地方 :环境变量的设置

在.bash_profile中发现一台测试中有下面的内容

export NLS_LANG=american_america.zhs16gb

注释掉后一切OK,说明环境变量NLS_LANG的值决定会话级nls_date_format的值.

 

后来也从网络上发现了下面的内容:

系统级alter system的优先级低于会话级alter session的优先级

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7419833/viewspace-621707/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Linux下JDK的安装
请登录后发表评论 登录
全部评论

注册时间:2008-01-12

  • 博文量
    143
  • 访问量
    308634