Oracle char 类型注意事项--导致sql查询查不到数据


在数据库设计的时候,有时候针对一些状态字段会设计为char类型,这时候一定要记得位数,char(1):状态位是一个字符,如:0,1,2这样的。char(2):状态位是2个字符,如:01,02这样的。


如果使用char(3),这时候,Oracle保存数据的时候会对不足位数的内容进行补位(是在后面补位,这样的数据在PLSQL里面很容易忽略)。如果你存入的数据是1,那么在数据库里面就会是"1  ",补位了2个空格。这时候如果用条件查询,如mybatis,如果你传递的是1(String),这个时候生成的sql是查询不到数据库。(因为有空格)



此问题记录,以防不注意的导致程序出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值