java oracle nvarchar2,Oracle NVarchar2类型

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

Oracle NVARCHAR2数据类型简介

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

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

SELECT

*

FROM

nls_database_parameters

WHERE

PARAMETER = 'NLS_NCHAR_CHARACTERSET';

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

e7daa5d225268136c9421d7366dfa7c8.png

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

执行上面查询语句,得到以下结果 -

cc5e917fbd7df52c67ea099f297781af.png

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

VARCHAR2与NVARCHAR2

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

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

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

SELECT

*

FROM

nls_database_parameters

WHERE

parameter = 'NLS_CHARACTERSET';

执行上面查询语句,得到以下结果 -

ed0f6b31584e508009a9851e0a9cbf6a.png

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

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值