大家好,又见面了,我是你们的朋友全栈君。Oracle:varchar和varchar2的区别
1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2.varchar2把空串等同于null处理,而varchar仍按照空串处理;
3.varchar2字符要用几个字节存储,要看数据库使用的字符集.
然后char和varchar2的区别是
char是固定长度,varchar2和varchar都是可变长度
比如一个类型是char(10),varchar2(10)
当你输入一个字符串aaa
在char里还是占10位,后边的7位补空格
而varchar2或varchar只占3位
create table test1(a char(10),b NUMBER(10) NOT NULL);
insert into test1 values ( ' ','1000000001' );(第一个字段为三个空格)
insert into test1 values ( 'aaa','1000000002' );
insert into test1 values ( 'bbb','1000000003' );
select replace(test1.A,' ','空格') as a,test1.B as b from test1;
----------------------------------
空格空格空格空格空格空格空格空格空格空格 1000000001
aaa空格空格空格空格空格空格空格 1000000002
bbb空格空格空格空格空格空格空格 1000000003
drop table test1
create table test1(a varchar2(10),b NUMBER(10) NOT NULL);
insert into test1 values ( ' ','1000000001' );
insert into test1 values ( 'aaa','1000000002' );
insert into test1 values ( 'bbb','1000000003' );
select replace(test1.A,' ','空格') as a,test1.B as b from test1;
-----------------------------------------
空格空格空格 1000000001
aaa 1000000002
bbb 1000000003
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150068.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...