Oracle:varchar和varchar2的区别

Oracle:varchar和varchar2的区别Oracle:varchar和varchar2的区别 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;2.varchar2把空串等同于null处理,而varchar仍按照空串处理;3.varchar2字符要用几个字节存储,要看数据库使用的字符集. 然后char和varchar2的区别是

大家好,又见面了,我是你们的朋友全栈君。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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150068.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件测试之BUG的生命周期

    作为一名测试人员,重要的工作内容之一,就是找BUG,提交BUG,验证BUG,推进BUG的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。要找BUG,那么,就要先了解一下BUG的定义是什么?BUG的定义:软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与…

    2022年4月5日
    79
  • MySQL字段类型

    MySQL字段类型MySQL字段类型

    2022年4月23日
    42
  • updog:一款局域网传输文件的软件

    updog:一款局域网传输文件的软件前言不知道你是否有过这样的需求,在局域网传输文件,苦于没有好的软件支持,或者只能单向传输,updog可以完全解决这种问题安装pip3installupdogupdog是python中的一个第三方库使用updog这里注意updog要在可以读写的路径下面运行,否则访问会出错,或者启动就会报错如果你不想切换到路径去运行,也可以使用-d去指定一个可读写的目录optiona…

    2022年5月29日
    44
  • matlab 插值出错,MATLAB插值问题

    matlab 插值出错,MATLAB插值问题一、一元函数插值已知函数y=f(x)在区间[a,b]上的n+1个不同点的函数值为,若存在一个简单函数F(x),使,称F(x)为f(x)在区间[a,b]上的插值函数,称(xi,yi)为插值节点。若F(x)为多项式,称为多项式插值(或代数插值);常用的代数插值方法有:拉格朗日插值,牛顿插值。n次代数插值:已知f(x)在n+1个点x0,x1,…,xn处的函数值为y0,y1,…,yn,求一个n…

    2022年6月4日
    29
  • Java NIO与IO的差别和比較

    Java NIO与IO的差别和比較

    2021年12月6日
    40
  • 爱比较病毒测试(不是震网病毒特点的是)

    CIH、爱虫、冲击波、熊猫烧香,对这4种网络病毒你了解多少?现在的网络病毒能够分为三类,第一类是“蠕虫”病毒,这类型的病毒是在感染电脑后经过不停地复制自己,将电脑原来的运行和储存资源耗费掉,最终电脑由于资源耗费干净而无法运行直至死机;第二类是“进犯型”病毒,这类病毒和蠕虫病毒不一样,进犯型病毒一旦感染就会对电脑软件甚至是硬件做出破坏性的进犯,威力和破坏性极端强大。最终第三类是“木马”类病毒,这类病…

    2022年4月14日
    261

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号