oracle中varchar,varchar2,nvarchar,nvarchar2有什么区别

 我来答
前端小子
2019-08-08 · TA获得超过7652个赞
知道答主
回答量:109
采纳率:0%
帮助的人:1.6万
展开全部

一、varchar和varchar2之间的区别

1、在一般情况下,varchar2把所有字符都占两字节处理,而varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节。

2、varchar2把空串等同于null处理,而varchar仍按照空串处理。

3、varchar2字符要用几个字节存储,要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个如果是UTF-8,汉字一般占3个字节,英文还是1个。 

二、nvarchar和nvarchar2的区别

1、nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算。

2、nvarchar2中所有字符均按照2个字节计算。

3、nvarchar2虽然更占空间,但是它有更好的兼容性,所有推荐使用。

扩展资料

Oracle数据库

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。

可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。

参考资料来源:百度百科-Oracle数据库


OnlyOne00
高粉答主

2020-03-24 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:649
采纳率:100%
帮助的人:16.7万
展开全部

一、varchar和varchar2之间的区别

1、在一般情况下,varchar2把所有字符都占两字节处理,而varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节。

2、varchar2把空串等同于null处理,而varchar仍按照空串处理。

3、varchar2字符要用几个字节存储,要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个如果是UTF-8,汉字一般占3个字节,英文还是1个。 

二、nvarchar和nvarchar2的区别

1、nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算。

2、nvarchar2中所有字符均按照2个字节计算。

3、nvarchar2虽然更占空间,但是它有更好的兼容性,所有推荐使用。

扩展资料

Oracle数据库最新版本为Oracle Database 19c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。

此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。

这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

参考资料来源:百度百科-Oracle数据库

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0808xyj
推荐于2017-09-05 · TA获得超过1891个赞
知道大有可为答主
回答量:1237
采纳率:100%
帮助的人:1066万
展开全部
1、varchar/varchar2 

varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。 

varchar同样区分中英文,这点同char。 

varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串 

varchar/varchar2适用于长度不固定的,一般不含中文的情况 

3.nvarchar/nvarchar2 

nvarchar和nvarchar2是长度不固定的 

nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数 

nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节 

nvarchar/nvarchar2适用于存放中文 

char [ ( n ) ] 

    固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。 

varchar [ ( n | max ) ] 

    可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节,用于反映存储的数据的长度。所输入数据的长度可以为 0 个字符。 

    -- 如果列数据项的大小一致,则使用 char。 
    -- 如果列数据项的大小差异相当大,则使用 varchar。 
    -- 如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max) 

如果未在数据定义或变量声明语句中char 或 varchar 数据类型指定 n,则默认长度为 1。如果在使用CAST 和 CONVERT 函数时char 或 varchar 数据类型未指定 n,则默认长度为 30。 
当执行 CREATE TABLE 或 ALTER TABLE 时,如果 SET ANSI_PADDING 为 OFF,则定义为 NULL 的 char 列将作为varchar 处理。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式