您好,UncleToo欢迎您!  为了更好的浏览本站,请使用高版本浏览器
RSS  Tag     设为首页 | 加入收藏
 您所在的位置:首页 > 数据库技术 > Oracle

Oracle:varchar和varchar2的区别

作者:UncleToo  来源:互联网  日期:2013-09-21 10:19:08
收藏  评论:( 0 )  阅读:275

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




除非特别声明,本站所有PHP教程及其他教程/文章均为原创、翻译或网友投稿,版权均归UncleToo中文网所有, 转载请注明作者及出处。
原文网址:http://www.uncletoo.com/html/oracle/350.html
读完这篇文章后,你是否有所收获? 分享是一种生活的信念!
  • 0
  • 0
我来说两句
更多>>网友评论