Oracle中varchar2 nvarchar2 小结

Oracle中varchar2 nvarchar2

VARCHAR2(size),可变长度的字符串,其最大长度为 size 个字节。size 的最大值是 4000,而最小值是 1。您必须指定一个 VARCHAR2 的 size.

NVARCHAR2(size),可变长度的字符串,依据所选的国家字符集,其最大长度为 size 个字符或字节。size 的最大值取决于存储每个字符所需要的字节数,其上限为 4000 个字节。您必须为 NVARCHAR2 指定一个 size。

二者的主要区别,在于NVARCHAR2 与所选的字符集相关.

NVARCHAR2 (size)测试如下:

测试环境:

测试数据库字符集:    通过SIMPLIFIED CHINESE_CHINA.ZHS16GBK得到为:

                              SIMPLIFIED CHINESE_CHINA.ZHS16GBK

表table1中存在字段titile, 类型为:nvarchar(50),

该字段内容为:1000多字长短信测试

执行测试sql:  select  lengthb(title)  from table1

得出结果:title的长度是22

由此可知字段title中 一个汉字 跟一个英文数字 一样占两个字节.也就是说在SIMPLIFIED CHINESE_CHINA.ZHS16GBK这个字符集下, NVARCHAR2(size) 的size的最大值为4000/2=2000,最多可存贮2000个字符.

通过相同方式的测试可知: varchar2(size) 中每个中文汉字占2个字节,英文数字或者字母占一个字节,所以varchar2(size)中 size的最大值可以为4000

posted on 2012-08-21 11:13  Fat T  阅读(3813)  评论(1编辑  收藏  举报

导航