varchar2存储汉字,英文字符,数字在oracle中的多少

Posted 超级大英雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了varchar2存储汉字,英文字符,数字在oracle中的多少相关的知识,希望对你有一定的参考价值。

ZHS16GBK字符集格式下,varchar2(size) 可以存储 size/2个汉字 。也就是说varchar2(40)存储20个汉字。

分析如下:

1,首先 varchar2(size)释义:

可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;
--NVARCHAR2(size)可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字符所需的字节数,其上限为4000;你必须指定一个NVARCHAR2的size;
 
2,检查oracle数据库所采用的字符集
考虑到不同的字符集所占用的大小会不一样
select parameter, value from nls_database_parameters where parameter like \'NLS_CHARACTERSET\';

 

ZHS16GBK 

命名格式:<语言><bit><国家字符集>

中文,16位表示一个汉字(两个字节表示一个汉字),汉字编码字符集也经常说的国标

 

3,答案也就呼之欲出了

varchar2(40):40个字节长度的字符串类型

编码格式:ZHS16GBK

所以:可以存储20个汉字,40个英文字母,40个数字(0~9)

 

 


 

 

 
 

以上是关于varchar2存储汉字,英文字符,数字在oracle中的多少的主要内容,如果未能解决你的问题,请参考以下文章

oracle之VARCHAR2(50 CHAR) 和VARCHAR2(50) 区别?

mybatis jdbctype数据类型 有varchar2么

mysql 数据库varchar可以存储多少个汉字和多少个数字?

mysql varchar定义长度多少为好

数据库中char和varchar区别

Mysql varchar字段长度越大越好吗?