Oracle NVarchar2类型
本教程向您介绍了OracleNVARCHAR2数据类型,并解释了NVARCHAR2和VARCHAR2之间的区别。
Oracle NVARCHAR2数据类型简介
NVARCHAR2是可以存储Unicode字符的Unicode数据类型。NVARCHAR2的字符集是在数据库创建时指定的国家字符集。
要在数据库中查找NVARCHAR2的字符集,请使用以下查询:
SELECT * FROM nls_database_parameters WHERE PARAMETER = 'NLS_NCHAR_CHARACTERSET';
执行上面查询语句,得到以下结果(因环境不同而不同)-
在笔者的Oracle数据库服务器中,NVARCHAR2数据类型使用AL16UTF16字符集,它使用UTF-16编码对Unicode数据进行编码。AL16UTF16使用2个字节来存储一个字符。
NVARCHAR2存储可变长度的字符数据。 使用NVARCHAR2列创建表时,最大长度始终为字符长度语义,也是NVARCHAR2数据类型的默认值,也是唯一的长度语义。
Oracle NVARCHAR2的例子
以下语句创建一个最大长度为50个字符的NVARCHAR2列的表。
CREATE TABLE nvarchar2_demo ( description NVARCHAR2(50) );
由于当前的国家字符集是:UTF-16,所以描述列的最大字节长度是200字节。
请注意,最大字节长度是每个字符中最大字符长度和最大字节数的乘积。
以下语句在nvarchar2_demo表中插入一行:
INSERT INTO nvarchar2_demo VALUES('ABCDE');
使用DUMP()函数来查看存储在nvarchar2_demo表中的值的详细信息:
SELECT description, DUMP(description,1016) FROM nvarchar2_demo;
执行上面查询语句,得到以下结果 -
如结果所示,数据类型代码1是10个字节(5个字符,每个2个字节)。
VARCHAR2与NVARCHAR2
首先,VARCHAR2的最大大小可以是字节或字符,而NVARCHAR2的最大大小只能是字符。 另外,NVARCHAR2的最大字节长度取决于配置的国家字符集。
其次,VARCHAR2列只能将字符存储在默认字符集中,而NVARCHAR2则可以存储几乎任何字符
以下查询返回VARCHAR2数据类型使用的缺省字符集。
SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';
执行上面查询语句,得到以下结果 -
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:Oracle NVarchar2类型
本文地址:http://www.codeinn.net/oracle/1925.html