oracle NVARCHAR2 数据类型

参考地址
https://docs.oracle.com/cd/B19306_01/server.102/b14225/ch7progrunicode.htm#sthref807

在这里插入图片描述
英语不好的看中文直译
utf8可能会影响性能,因为它是一个可变宽度字符集。NChar字段的空白填充过多会降低性能。考虑使用nvarchar数据类型或更改为nchar数据类型的al16utf16字符集。

nvarchar2数据类型指定使用国家字符集的可变长度字符串。使用nvarchar2列创建表时,请指定该列的最大字符数。nvarchar2的长度总是以字符为单位,就像nchar一样。如果值不超过列的最大长度,Oracle随后会按照您指定的方式在列中存储每个值。Oracle不会将字符串值填充到最大长度。

当国家字符集为utf8时,允许的最大列大小为4000个字符;当国家字符集为al16utf16时,允许的最大列大小为2000个字符。nvarchar2列的最大字节长度为4000。必须同时满足字节限制和字符限制,因此nvarchar2列中实际允许的最大字符数是可以用4000字节写入的字符数。

在pl/sql中,nvarchar2变量的最大长度为32767字节。您可以定义最多32767个字符的nvarchar2变量,但实际数据不能超过32767个字节。

此数据类型保存字符的数量要看数据库的国家字符集是什么?
select userenv(‘language’) from dual;
AMERICAN_AMERICA.AL32UTF8
如下:当前的数据库国家字符集,一个中文3个字节,一个英文占1个字节。
PS:对于一些生僻字可能与上述情况不一致,请另行处理。
其它:如果显示如下,一个汉字占用两个字节
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
在这里插入图片描述
name 类型是:nvarchar2(4);
如下:一个中文是一个字符,一个英文一个字符,总共最多4个字符。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值