oracle中char和varchar2的区别

char和varchar2是oralce中的两种用来存储字符串的数据类型。但是其可以存储的字符的大小有一些特殊的地方。

长度:

在table 中: 

char:1-255字节

varchar2:1-2000字节

在pl/sql中:

char:1-32767字节

varchar2:1-32767字节

所以根据以上,从pl/sql向table中insert,或者update数据的时候,要注意长度的变化。否则会出现“溢出”的错误

声明:

char的声明可以不用指定长度,系统会默认给一个8字节的长度。

varchar2必须指定长度

关于char和varchar2的使用

检索DB中的数据赋值给PL/SQL变量(“DB > PL/SQL”代表长度比较)
DB(字段类型)赋值PL/SQLDB > PL/SQLDB <= PL/SQL
CHAR==〉VARCHAR2长度溢出错DB中的内容原样赋给PL/SQL中的变量,如果CHAR型数据后有空格,不会被截掉
VARCHAR2==〉CHAR长度溢出错DB中的内容原样赋给PL/SQL中的变量,但是会补充空格
PL/SQL中的数据登陆到DB中
PL/SQL赋值DB(字段类型)PL/SQL > DBDB <= PL/SQL
CHAR==〉VARCHAR2长度溢出错正常登陆数据,如果CHAR型数据后有空格,不会被截掉
VARCHAR2==〉CHAR长度溢出错正常登陆,但是会自动补充空格

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值