ora-01722 无效数字_ORA-01722无效数字错误解决记录

今天使用Oracle查询时候遇到了ORA01722错误:无效数字。

7532f00f5fb2900e911b92f4e9e9dfa0.png

一看错误就是数据类型不匹配造成的,我的查询字段key_1虽然是varchar2类型的,但里面放的是number数字,查看aa表type_1字段里面值是没有非数字(数字类型)。我的查询语句如下:

select nvl((select value_1

from static_mapp_table

where key_1 = aa.type_1

and key_type = 'TEST'),

'未知')

from aa

简单的说static_mapp_table是一个类似Map的表,里面有key,value根据类型一一对应。

aa表的type_1字段确认不可能出问题,查看static_mapp_table表里面key_1字段都是数字,

而是直接使用:

select * from static_mapp_table where key_1='10000018' and key_type='TEST'

查询,查询结果居然是NULL,而是怀疑该字段里面有非数字类型存在,直接使用:

select value_1,length(value_1)

from static_mapp_table

where 1 = 1

and key_type = 'TEST'

结果如下:

0188284e54b3468d44ac779743c65e95.png

如上所示,该字段初看长度是8实际长度是9,很可能里面多了空格。

解决方法:把空格去掉。

全文完。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值