在oracle数据库中为什么推荐使用varchar2类型而不推荐使用char和varchar

 我来答
百度网友f4018e7
2012-02-09 · TA获得超过243个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:197万
展开全部
现代的数据库为了节省空间都会提供变长数据类型,varchar2是变长数据类型可以根据实际长度存储,节省空间。
char和varchar则是定长数据类型,即使实际字符个数小于数据类型定义长度仍然按照数据类型定义长度开辟空间。
使用上在比较的时候有区别,可参考楼上的例子。
liuwei54617
2012-02-09
知道答主
回答量:4
采纳率:0%
帮助的人:3.3万
展开全部
varchar2是可变长度,char一般是单字符才用的比如男或女,varchar它是定义长度类型,多了就浪费资源少了就不行了....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongyaofu
推荐于2016-09-12 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:527万
展开全部
例如:
v_char varchar2(10);
c_char char(10);
varchar2:对于定义长度的变量或表中的字段的长度可变,就是定义varchar2(10),你只有一个字符时,变量或表中的字段里面就只保存了1个字符,不补空格,v_char='A';length(v_char)=1。
c_char/varchar:是定长数据:赋值c_char='A',实际上是:c_char='A ',length(c_char)=10。
如果作比较的话如果使用c_char/varchar,你会比较痛苦的
if c_char=v_char then 这样的语句出来的肯定是:false否(else)里面的,要对c_char实行rtrim才是:真:if rtrim(c_char)=v_char then 这才返回:ture
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式