Oracle无效数字报错

使用to_number转换过程中报的错。
网上有很多是说null造成的,多是采用把空转为某个数字字符再进行转换。
但是今天却遇到了,怎么转换还是报无效数字的错误.
1.首先我的数据是由excel导入到Oracle数据库中。有的数值导入Oracle中会被转换科学计数法,有"e"存在。
验证是否存在"e"语句
select * from tablename where columnname like "%e%";
2.是否存在null值。
select * from tablename where columnname is null;
3.是否存在非法数值,如:'_'或者','等等。
如果以上三种情况都排除,但是使用to_number还是报无效数字的错误,
该怎么办?
今天有位前辈帮忙解决了问题
就是这么处理的
to_number(nvl(字段名,'0'),'9999D99')
nvl函数就是将字段为空值的属性值置为0
后面的参数"9999D99"表示转换为四位整数两位小数
如果是1位整数位三位小数位,则参数是"9D999"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值