加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle中判断一个字符串是否为全数字

发布时间:2020-12-12 13:57:32 所属栏目:百科 来源:网络整理
导读:在一个字段上使用sum()聚合函数的时候报“ORA-01722:无效数字”错误,原因是该字段值有非数字 其中一个解决方法是将只要包含非数字的都替换为0 select sum (to_number(nvl2(translate(LA_J_B, '/1234567890.' , ''),' 0 ',LA_J_B))) as LA_J_B from BUS_BB_

在一个字段上使用sum()聚合函数的时候报“ORA-01722:无效数字”错误,原因是该字段值有非数字

其中一个解决方法是将只要包含非数字的都替换为0

select sum(to_number(nvl2(translate(LA_J_B,'/1234567890.',''),'0',LA_J_B))) as LA_J_B from BUS_BB_RLXHL

这里使用到了两个关键函数,一个是translate函数

translate(expr,from_strimg,to_string)

返回expr,其中from_string中的每个字符的所有出现都被to_string中的相应字符替换。具体参考Oracle中的translate函数用法

另一个是nvl2函数

nvl2(expr1,expr2,expr3)

如果expr1不为空,则nvl2返回expr2。如果expr1为空,则nvl2返回expr3。具体参考Oracle中nvl(),nvl2()函数的区别

作者:itmyhome

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读