在oracle数据库中为什么推荐使用varchar2类型而不推荐使用char和varchar
3个回答
展开全部
varchar2是可变长度,char一般是单字符才用的比如男或女,varchar它是定义长度类型,多了就浪费资源少了就不行了....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如:
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询