VARCHAR2(4000)表示该字段最多可以存储4000个字节的数据。 汉字在Oracle数据库中的存储方式: 汉字的存储方式取决于数据库的字符集编码。常见的字符集编码有ASCII、GB2312、GBK、UTF-8等。 在UTF-8编码下,一个汉字通常占用3个字节。 在GBK或GB2312编码下,一个汉字通常占用2个字节。 计算VARCHAR2(4000)最多能存...
在使用oracle时,如果在一个varchar2(4000)的字段上插入的字符过长(一般只能插入666个汉字,视字符集不同会有所不同),会导致失败,具体报错会因驱动版本不同而不同。 原因一: 666 汉字所用的编码里 (可能是 UTF8) 每个字占了 3 bytes,当存的时候, 没有作好 charset-encoding 的转换,造成你的每个 byte 被...
我们都知道,一个汉字占用两个字节,那么Oracle中的Varchar2(4000)到底能存多少个汉字,这个就要看你的数据库编码集,如果是GB2312,存2000个汉字应该没有什么问题,如果你的数据库字符编码集是UTF-8,大概能存1300多一点
oracle varchar2类型的最大长度为4000,但是不一定能存2000汉字,这和数据库的字符集设置有关 如果是gb2312,没有问题,如果是utf-8则不能,因为gb2312存放汉字时占两上字节,而utf-8则占用三个字节,所以如果是utf-8则只能存4000/3 = 1300多点 查看oracle数据库的字符集设置 数据库服务器字符集 select * from nls...
Oracle字符集及Varchar2存储大小问题 如果编码为GBK 那么两个字节存储一个汉字 varchar2最多为4000个字节 也就是说当字符编码为GBK的时候varchar2最多可以容纳2000个汉字; 当编码为UTF-8的时候3个字节存储一个汉字 varchar2最多可以容纳汉字为1333个 如果文字较多可以使用Clob...
varchar2最大是4000字节,(在PL/SQL中变量类型最大32767字节)能存放多少字符,那么就得看你的oracle字符集:(select userenv('language') from dual;)如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。如果是32位编码的字符集,那么只能存储 1000个字符。例如:va...
如果Oracle 的字符集是Utf-8, varchar2(4000)最多可以存1333个汉字,而varchar2(4000 char)其实和varchar2(1333 char)一样,也是只能存1333个汉字;如果Oracle的字符集是GBK,一个汉字是2个字节的话,varchar2(4000)最多可以存2000个汉字,而varchar2(4000 char)其实和varchar2(2000 char)一样,也是...
VARCHAR2(size type),size最大为4000,type可以是char也可以是byte,不标明type时默认是byte(如:name VARCHAR2(60))。 NVARCHAR2(size),size最大值为2000,单位是字符 区别二: VARCHAR2最多存放4000字节的数据,最多可以可以存入4000个字母,或最多存入2000个汉字(数据库字符集编码是GBK时,varchar2最多能存放2000个...
某字段为“VARCHAR2(4000)”,按理应该可以插入2000汉字 -- 如果数据库字符集是ZHS16GBK 的话,是正确的,但如果数据库字符集是UTF8,则一个汉字通常占3个byte,检查下你的服务器字符集:select userenv('language') from dual -- 检查非英文字母占的byte:select lengthb(你的字符) from dual 可...