数据库教程-Oracle NVarchar2类型

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

本教程向您介绍了Oracle NVARCHAR2数据类型,并解释了NVARCHAR2VARCHAR2之间的区别。

Oracle NVARCHAR2数据类型简介

NVARCHAR2是可以存储Unicode字符的Unicode数据类型。 NVARCHAR2的字符集是在数据库创建时指定的国家字符集。

要在数据库中查找NVARCHAR2的字符集,请使用以下查询:

SELECT     * FROM     nls_database_parameters WHERE     PARAMETER = 'NLS_NCHAR_CHARACTERSET'; 

执行上面查询语句,得到以下结果(因环境不同而不同)-
Oracle NVarchar2类型

在笔者的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; 

执行上面查询语句,得到以下结果 –
Oracle NVarchar2类型

如结果所示,数据类型代码110个字节(5个字符,每个2个字节)。

VARCHAR2与NVARCHAR2

首先VARCHAR2的最大大小可以是字节或字符,而NVARCHAR2的最大大小只能是字符。 另外,NVARCHAR2的最大字节长度取决于配置的国家字符集。

其次,VARCHAR2列只能将字符存储在默认字符集中,而NVARCHAR2则可以存储几乎任何字符

以下查询返回VARCHAR2数据类型使用的缺省字符集。

SELECT   * FROM   nls_database_parameters WHERE   parameter = 'NLS_CHARACTERSET'; 

执行上面查询语句,得到以下结果 –
Oracle NVarchar2类型

在本教程中,您已经了解了Oracle NVARCHAR2的用法,以及NVARCHAR2VARCHAR2之间的区别。

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 只为你绽放。

本文固定链接: http://kua0.com/2019/01/17/数据库教程-oracle-nvarchar2类型/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注