度量快速开发平台-专业、快速的软件定制快开平台

标题: Oracle:varchar和varchar2的区别 [打印本页]

作者: 万望    时间: 2020-5-27 23:30
标题: 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位

  1. create table test1(a char(10),b NUMBER(10) NOT NULL);
  2. insert into test1 values ( '   ','1000000001' );--(第一个字段为三个空格)
  3. insert into test1 values ( 'aaa','1000000002' );
  4. insert into test1 values ( 'bbb','1000000003' );
复制代码
  1. select replace(test1.A,' ','空格') as a,test1.B as b from test1;
  2. ----------------------------------
  3. 空格空格空格空格空格空格空格空格空格空格         1000000001
  4. aaa空格空格空格空格空格空格空格                   1000000002
  5. bbb空格空格空格空格空格空格空格                   1000000003
复制代码



作者: 万望    时间: 2020-5-27 23:31

作者: 陈晓龙    时间: 2020-5-28 13:59

作者: 万望    时间: 2020-5-28 15:13

作者: 万望    时间: 2020-5-28 15:15

作者: 万望    时间: 2020-6-1 02:08





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2