数据库服务端的字符集

来源:互联网 发布:尔雅网络课程怎么快进 编辑:程序博客网 时间:2024/06/09 19:01
这个语句查出来的是数据库服务端的字符集吧?

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');

今天看到说select userenv('language') fromdual这样查出来的也是服务端字符集,可是我用这两个语句得到的结果是不同的阿,那么这两个语句得到的各是哪里的字符集?请老大们指教,谢谢

 

 

 

原帖由 小比例尺 于 2008-6-26 14:06 发表
select userenv('language') fromdual的language属于session环境。
SQL> select sysdate from dual;

SYSDATE
---------------
26-JUN-08

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

SQL> alter session set NLS_LANGUAGE='SIMPLIFIEDCHINESE';

会话已更改。

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8


SQL> select sysdate from dual;

SYSDATE
------------
26-6月 -08


 

[oracle@TestDB ~]$ exportNLS_LANG="AMERICAN_AMERICA.AL32UTF8"
[oracle@TestDB ~]$ sqlplus -s system/manager
select sysdate from dual;

SYSDATE
------------------
26-JUN-08

select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

exit

[oracle@TestDB ~]$ export NLS_LANG="SIMPLIFIEDCHINESE_CHINA.AL32UTF8"
[oracle@TestDB ~]$ echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.AL32UTF8
[oracle@TestDB ~]$ sqlplus -s system/manager
select sysdate from dual;

SYSDATE
--------------
26-6月 -08

select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

exit
[oracle@TestDB ~]$ unset NLS_LANG


 

0 0