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么