ORA-25137: 数据值超出范围

ORA-25137: 数据值超出范围

今天也是普普通通的一天~

在一次使用Mybaits进行数据库使用时,代码抛出了异常
在这里插入图片描述
一眼就可以看出,这是数据类型在强转时出现了问题,但是在代码的检查中,不管是数据库的类型,数据的长度,以及resultMap接收的类型,都没有发现有错误的地方。
最后只能从SQL看起,发现SQL在数据库中查询时只返回了一条数据,而在原表中,进过分析,应该是有几十条数据返回的,于是尝试修改SQL,才发现了一个很奇怪的问题。。。。
SQL中存在一句
cast(a.status_cd as char) status_cd
而在我改成
to_char(a.status_cd)
之后,查询的结果就正确了!

这个字段在数据库中是8位的,因此又尝试
cast(a.status_cd as char(8)) status_cd
对转换的对象设置长度,发现也是可行的!终于找到问题所在了,修改完工!

这个问题最奇怪的是,虽然MyBaits抛出了异常,但是SQL在我的Navicat中竟然没有异常,但是查询的结果是不正确的,现在这里记录一下,以后有空了再研究研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值