VARCHAR(100)表示100个字节。 UTF8一个中文占3个字节,所以能存33个汉字; GBK一个中文占用2个字节,所以能存50个汉字 5.0版本: VARCHAR(100)表示100个字符。 UTF8一个中文占1个字符,所以能存100个汉字 GBK一个中文占用1个字符,所以能存100个汉字
Oracle数据库中VARCHAR2(100)能存储多少汉字,取决于该字段是定义为BYTE还是CHAR,以及数据库使用的字符集。以下是根据不同情况的分析: 1. VARCHAR2(100 BYTE) 如果VARCHAR2(100)没有指定是CHAR还是BYTE,则默认是BYTE。此时,能存储的汉字数量取决于数据库字符集中一个汉字所占用的字节数: UTF-8字符集:一个汉字通...
4000字节长度。比如,varchar2(100),就相当于varchar2(100 byte),表示最大字节数是100,该字段最多能容纳100个字节,强调空间大小。由于我们描述的是字节,因此,保存汉字等字符时,如果数据库用的是GBK编码,那么一个汉字将占用2个字节,最多能存50个汉字,如果你的数据库用的是UTF8编码,那么一个...
varchar2最大是4000 字节 ,( 在PL/SQL中变量类型最大32767字节 ) 能存放多少字符,那么就得看你的oracle字符集: ( select userenv('language') from dual; ) 如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。 如果 varchar2最大是4000字节,(在PL/SQL中...
Oracle的varchar2(4000)插入汉字过长 . 在使用oracle时,如果在一个varchar2(4000)的字段上插入的字符过长(一般只能插入666个汉字,视字符集不同会有所不同),会导致失败,具体报错会因驱动版本不同而不同。 原因一: 666 汉字所用的编码里 (可能是 UTF8) 每个字占了 3 bytes,当存的时候, 没有作好 charset...
varchar2(4000)最多可以存1333个汉字,而varchar2(4000 char)其实和varchar2(1333 char)一样,也是只能存1333个汉字;如果Oracle的字符集是GBK,一个汉字是2个字节的话,varchar2(4000)最多可以存2000个汉字,而varchar2(4000 char)其实和varchar2(2000 char)一样,也是只能存2000个汉字;
varchar2(byte):就是默认的表示方式,比如我们写成:varchar2(100),就相当于varchar2(100 byte),表示最大字节数是100,该字段最多能容纳100个字节,强调空间大小。由于我们描述的是字节,因此,保存汉字等字符时,就要小心了。如果你的数据库用的是GBK编码,那么一个汉字将占用2个字节,最多能存50个汉字,如果你的数据...
1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。 2、而VARCHAR2(10)的话,则只能存进5个汉字(注:要根据字符集:GBK:2;UTF-8:3),英文则可以存10个。 原文;http://www.cnblogs.com/flyingfish/archive/2010/01/15/1648448.html ...
· char(100):10 个字母,补齐 90 个空格,实际占用 100 个字节。 · varchar2(100):10 个字母,实际占用 10 个字节。 char 类型浪费空间换取查询时间的缩短,varchar2 节省空间查询时间较 char 类型要长。字符串按照自然顺序排序。 1.1.2 char 和 varchar2 的存储编码 字符串在数据库中存储的默认单位是字节...
1 CREATE TABLE 表名 (EMPNO NUMBER(2),NAME VARCHAR2(20)) PCTFREE 20 PCTUSED 50 STORAGE (INITIAL 200K NEXT 200K MAXEXTENTS 200 PCTINCREASE 0) TABLESPACE 表空间名称 [LOGGING|NOLOGGING]所有的对表的操作都要记入REDOLOG,ORACLE建议使用NOLOGGING; ...