Oracle NLS_CHARACTERSET NLS_NCHAR_CHARACTERSET 的区别

  • Post author:
  • Post category:其他


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的四个怪字符。

这就是字符集的作用,就是以什么样的形式理解信息。



版权声明:本文为snowfoxmonitor原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。