oracle 中 varchar 与varchar2有什么区别

如题,有什么严格上的区别???... 如题,有什么严格上的区别??? 展开
 我来答
wangzhiqing999
推荐于2016-04-12 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3262万
展开全部
--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个字符

参考资料: http://apps.hi.baidu.com/share/detail/18768651

loveyurui
2011-10-21 · TA获得超过6556个赞
知道大有可为答主
回答量:2892
采纳率:33%
帮助的人:973万
展开全部
唯一的区别:varchar2用null代替varchar的空字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gxlu_edge
2011-10-21 · TA获得超过730个赞
知道小有建树答主
回答量:420
采纳率:0%
帮助的人:329万
展开全部
目前没有。
但以后oracle可能会根据sql标准修改varchar类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式