Oracle数据类型char与varchar的对比

 

使用scott用户连接数据库

新建一个表

create table stu01(name char(32));

插入一条数据

insert into stu01 values('liuyueming');

查询

select * from stu01;

 

PS:如果是使用客户端连接可能无法查看到数据,需要在命令行commit提交

 

char(32)代表字符类型最长32位,如果不够32位使用空格补齐

使用dump(name)搜索就能显示出来,字符转换成了字符码

 

Oracle常用的数据类型

1,char(size)

   存放定长的字符串,最大存放2000个字符

  PS:字符串的长度一般为16的倍数

  例如 char(32),存放32个字符(超出不行,不够32位使用空格补齐)

    如果超出插入不进会出现错误提示

        

  新建表如果超过2000也会报错

       

2,varchar2(size)

  解释:变长,最大可以存放4000个字符

     新建一个表

     create table stu02(name varchar2(16));

  插入数据并且查看(是变长的不会以空格补齐)

  

  存放了leo的三个字符,实际存放在数据库中,就只占用了3个字符,其余剩下的字符就被回收了,提高利用率

  说明:

    如果我们的数据是固定长度的,比如手机号码(11位),比如身份证号码,则应当使用插入来存放,这样

  的好处是查询与检索速度较快;

    而如果存放的字符串长度不固定,则建议使用varchar2(size)

  原因:查询char类型的字段时,作为整体进行查询,而varchar2是一个个数据进行对比的

转载于:https://www.cnblogs.com/minseo/p/7726283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值