数据库char真的认识它吗?

用文字记录自己的程序人生

事故来源:
按照状态条件进行查询返回相对应结果画面,使用的ibatisoracle,对比sql和传入的参数一一对比都没发现有什么问题,把语句拷贝在数据库执行也没有什么问题,那为什么再程序中会有问题呢?

案例分析:
会不会参数没有传入呢,可是对比的sql发现已经插入了,对比参数的值也没有问题,这怎么回事呢?想着是不是字符串不识别呢,然后转成数字格式去查询,发现结果正确了。但是char应该数字和字符串都可以查询的,应用sql再数据库中模拟过发现是没有问题。那会是什么问题呢?难道这char还有其他的含义?

寻找解决方案:
经度娘查询一番果然发现了问题

长度不满定义的长度。Oracle会用空格补满位。

状态值是一位字符串,而数据库字段长度定义的是5位,所以引发了这次事故的发生。

总结:
创建数据库字段长度的时候一定要符合。切勿发生这种低级错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值