这个语句查出来的是数据库服务端的字符集吧? SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET'); 今天看到说select userenv('language') from dual这样查出来的也是服务端字符集,可是我用这两个语句得到的结果是不同的阿,那么这两个语句得到的各是哪里的字符集?请老大们指教,谢谢 |
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='SIMPLIFIED CHINESE';
会话已更改。
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SQL> select sysdate from dual;
SYSDATE
------------
26-6月 -08
[oracle@TestDB ~]$ export NLS_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="SIMPLIFIED CHINESE_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