Oracle NLS_CHARACTERSET NLS_NCHAR_CHARACTERSET 的区别

来源:互联网 发布:软件灰度测试 编辑:程序博客网 时间:2024/05/04 20:38

SQL> conn / as sysdba
Connected.
SQL> SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';


PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8


NLS_NCHAR_CHARACTERSET
AL16UTF16


问题描述:

NLS_CHARACTERSET是数据库字符集

NLS_NCHAR_CHARACTERSET是国家字符集


ORACLE中有两大类字符型数据,VARCHAR2是按照数据库字符集来存储数据。而NVARCHAR2是按照国家字符集存储数据的。同样,CHAR和NCHAR也一样,一是数据库字符符,一是国家字符集。字符集不同,二进制码的组合就不同。比如有一串二进制信息:1101,0110,1101,0000,1011,1001,1111,1010,按照16位双字节GBK字符集理解,可以代表“中国”两个字。如果单字节的字符集,这一串二进制代表ASC码为214、208、185、250的四个怪字符。
这就是字符集的作用,就是以什么样的形式理解信息。



0 0
原创粉丝点击