视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle数据库中的varchar,varchar2,nvarchar,nvarchar2区别及用
2020-11-09 07:59:38 责编:小采
文档


【varchar,varchar2 】 联系: 1. varchar/varchar2用于存储可变长度的字符串 比如 varchar(20),存入字符串'abc', 则数据库中该字段只占3个字节,而不是20个字节 2. size 的最大是 4000,而最小是 1,其表示字节数, 比如 varchar(20)表示最大可以存放2

【varchar,varchar2】

联系:

1. varchar/varchar2用于存储可变长度的字符串

比如 varchar(20),存入字符串'abc',

则数据库中该字段只占3个字节,而不是20个字节

2. size 的最大值是 4000,而最小值是 1,其值表示字节数,

比如 varchar(20)表示最大可以存放20个字节的内容


区别:

1. varchar2把所有字符都占两字节处理(一般情况下),

varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

2. VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3. VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
比如GBK,汉字就会占两个字节,英文1个
如果是UTF-8,汉字一般占3个字节,英文还是1个。

但是一般情况下,我们都认为是两个字节处理,

因为oracle安装时候默认我们都选择GBK的编码格式,

但是我们在页面做输入字符串长度的校验的时候,

还是以数据库设计字段最大长度除3来作为最大长度

-----防止数据库移植时设置不同编码格式;

比如:VARCHAR2(10),一般情况下最多存放5个汉字,10个字符

--nvarchar,nvarchar2
联系:
1. nvarchar/nvarchar2用于存储可变长度的字符串
2. size 的最大值是 4000,而最小值是 1,其值表示字符的个数,而不是字节数
3. 这两种类型更适合存储中文

区别:
1.nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算
2.nvarchar2中所有字符均按照2个字节计算;
3.nvarchar2虽然更占空间,但是它有更好的兼容性,所有推荐使用;


VARCHAR2(size)

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

NVARCHAR2(size)

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

下载本文
显示全文
专题