精华内容
下载资源
问答
  • Oracle 报错无效数字: [Code: 1722, SQL State: 42000] ORA-01722: 无效数字 这个问题出现过一次,当时没记录,现在记录一下,防止时间长了忘了。 问题报的是无效数字,开始并未发现哪有数字出现了问题 联表查询,...

    Oracle 报错无效数字: [Code: 1722, SQL State: 42000] ORA-01722: 无效数字

    这个问题出现过一次,当时没记录,现在记录一下,防止时间长了忘了。
    [Code: 1722, SQL State: 42000]  ORA-01722: 无效数字

    问题报的是无效数字,开始并未发现哪有数字出现了问题

    联表查询,那么就分段查询问题,发现子查询都没问题。
    在这里插入图片描述
    唯一的疑点就在这里了。
    一看表结构
    varchar2类型
    number类型
    数字与字符不匹配

    类型问题;问题找出来了就好办了;
    to_char(e.nid) 把 nid 的类型 转成 indicator 一致的类型就可以了
    在这里插入图片描述

    转一下就好啦

    展开全文
  • orcale报错 无效数字

    千次阅读 2018-12-29 17:18:46
    orcale出现无效数字 今天出现了一个问题,查询数据是莫名其妙出现了无效数字,其实也并不是莫名其妙,都是有根有据的。。 上边分别是1月、12月、11月份数据; 下边介绍一下本项目,基于项目维护,对前同事写的...

    orcale出现无效数字

    今天出现了一个问题,查询数据是莫名其妙出现了无效数字,其实也并不是莫名其妙,都是有根有据的。。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    上边分别是1月、12月、11月份数据;
    下边介绍一下本项目,基于项目维护,对前同事写的代码还未完全熟悉,对接其他系统获取产品发货的原始数据保存到A表内,之后需要将原始数据中对应产品发货数相加并存储到B表中,执行之后发现并不走这个方法,未发生错误,所以决定方法重构;问题来了 ,前边各月份的数据执行都正常,到了11月份给我报了无效数字,然后对照了项目中的A、B的实体类和数据库A、B表中的数据类型,A表中number使用的是字符串,需要统计发货量的表也就是B表的total_number是INTEGER类型,并且我在程序中已经做了转换,所以没有问题(顺便说下sum()函数 只要是数字就可以进行数学类型的相加不需要做转换,具体自行了解)。
    又从网上看了许多前辈的解决方法,发现跟我这个完全不相同,只能自己排除
    在这里插入图片描述

    where条件 get_date=?
    看了一下自己程序中的方法,发现并不是这里的问题
    获取上月的方法

    在这里插入图片描述

    并没有问题 之后确定了问题出现在了从接口中获取的原始数据上,前同事获取时并没有进行判断,发现number字段有48条为‘?’和’??’,忘记截图了(顺便说一下表内数据有十几万条,sql能力并不出众,也是瞎猫碰死耗子查了一下#和?) 所以我在这里加了一个判断if (NumberUtils.isNumber(t.getNum()) || !t.getNum().equals("") || t.getNum() != null) { tSourceDevices.add(t); }重新删除数据进行测试发现并没有起作用,所以就用了正则表达式正则

    调用

    再次查询11月数据在这里插入图片描述

    sql运行正常成功。

    个人觉得“无效数字”就是我们常说的“数据转换异常”,一个是编程语言中的error,一个是数据库的error。

    展开全文
  • SQL> select ROUND('25-JUL-95','MONTH') from dual; select ROUND('25-JUL-95','MONTH') from dual ORA-01722: 无效数字
  • oracle创建物化视图报错:无效数字。查询语句正常。求解答,谢谢!![图片](https://img-ask.csdn.net/upload/201511/26/1448525421_201631.jpg)
  • 请问一下大佬们运行存储过程报错无效数字怎么解决呢?找不见错误
  • 后台显示SQL无效的数据 这种情况基本都是SQL当中的数据类型转换导致的问题,很多都是在PL工具中运行时正常的,但是在java后台会报错,这是因为Oracle有自动类型转换功能,可以将数据类型进行自动转换。 常见的 类型...

    后台显示SQL无效的数据

    这种情况基本都是SQL当中的数据类型转换导致的问题,很多都是在PL工具中运行时正常的,但是在java后台会报错,这是因为Oracle有自动类型转换功能,可以将数据类型进行自动转换。
    常见的 类型转换错误是 字符串和数字类型转换错误。
    我所遇到的是时间比较的类型转换:

    以下是常见的时间比较

    -2015/12/31 星期四 (去年年底)
    select trunc(sysdate,‘yyyy’)-1from dual

    –2017/1/1 星期日 (当年年初)
    select add_months(trunc(sysdate,‘yyyy’),12) from dual

    –trunc类型时间格式(2016/1/1星期五:当年)
    select trunc(sysdate,‘YYYY’)from dual

    –char类型时间格式(2016/01/01:当年)
    select to_char(trunc(sysdate,‘YYYY’),‘yyyy/mm/dd’)from dual

    –201511
    SELECT trunc(to_char(sysdate,‘yyyymm’)-1) datadate FROM dual

    –2016-01-05(当年当天)
    SELECT to_char(sysdate,‘yyyy-mm-dd’) datadateFROM dual

    –31-12月-15(去年年底)
    SELECT to_char(trunc(sysdate,‘yyyy’)-1) datadate FROM dual

    –201512(去年年底)
    SELECT to_char((trunc(sysdate,‘yyyy’)-1),‘yyyymm’) datadate FROM dual

    使用to_char((trunc(sysdate,‘yyyy’)-1),‘yyyy’) = substr(modifyDate,0,4) 比较修改时间是去年的数据,不会出现类型转换错误。

    展开全文
  • 最终提取数据的时候就报错无效数字,后来发现需要将我传入的数字值改成字符传入,以下是正确写法 decode(sex,‘1’,'男',‘0’,'女',‘未知’) 性别,在1和2加上引号。不知道大家会不会遇到同样的问题,我的解决...

     

    问题的原因肯定是这个字段中包含了非数字,只需要将我们输入的数字类型转换成字符类型即可,

    我在提取性别的时候就出现了这么个错误以下是我的错误写法

    decode(sex,1,'男',0,'女',‘未知’) 性别,

    最终提取数据的时候就报错了无效数字,后来发现需要将我传入的数字值改成字符传入,以下是正确写法

    decode(sex,‘1’,'男',‘0’,'女',‘未知’) 性别,在1和2加上引号。不知道大家会不会遇到同样的问题,我的解决办法是这样的,如果给大家带来的错误指导,那我在这里说声抱歉。

    展开全文
  • 最后参数放进存储过程里面会报"无效数字"的错。 但是单独将SQL语句拿出来,将参数里面的值带进去又能成功的查询出想要的结果。 最开始我以为是传进去的值得格式不正确, 我又将它弄成了数组的形式传进去, 形如...
  • oracle SQL语句报错后,没有说具体行数报错,...语句显然没问题,但是执行后,报无效数字,这时就可以用正则表达式去找具体是哪行数据有问题。 select * from student where not regexp_like(a.score,'^[[:di...
  • 我有一个TableTPI 表,是一行以逗号隔开的数值,我想把这个值取出来,但执行 execute immediate 一直报错提示无效数字,代码如下: declare v_value number(10,2); begin execute immediate 'select value ...
  • oracle执行sql报错01722:无效数字

    千次阅读 2019-09-02 20:52:35
    因为查询时关联的两个表,需要判断相等的两个字段类型不同,一个是number,一个是varchar2,导致出错。 sql如下: 如上图: 解决办法,在number类型那边进行类型转换,原字段加上 || "" ......
  • 在一个查询语句中报错无效数字 上面红色圈出来的子查询语句,执行结果如下: 这是一个字符串类型的字段,在整个查询语句中会被编译为‘261,301’,这是一个字符串,前面的C.ROLE_ID字段是number类型,in...
  • Oracle无效数字报错

    2010-01-08 21:02:26
    但是今天却遇到了,怎么转换还是报无效数字的错误. 1.首先我的数据是由excel导入到Oracle数据库中。有的数值导入Oracle中会被转换科学计数法,有"e"存在。 验证是否存在"e"语句 select * ...
  • oracle报错ORA-01722无效数字处理

    千次阅读 2019-04-16 13:51:06
    解决方法1: 剔除无效字符(如’nan’,注意这里举例的’nan’是示例数据中的一个字符,不是空值Nan),并且在末尾where再to_number一次。 代码: select * from (select to_number(column) as column1, a.* ...
  • ORACLE-023:令人烦恼的 ora-01722 无效数字 曾经一段时间内写sql语句时,老是莫名其妙的报ora-01722。 对于这个错误提示,尤其是对于一个复杂的sql语句,很是郁闷,因为很多时候都不知所然。 通过每次碰到的总结,...
  • insert into tableB select * from tableA报错:ORA-01722: 无效数字 意图:tableB复制了tableA的表结构,现在想要把tableA的数据复制到tableB 原因:从tableA select出来的字段顺序和tableB insert的字段顺序不一致...
  • ORA-01722:无效数字 场景: 周六加班,一同事在做新指标的时候,在做ORACLE那层的时候碰到了一个问题,因是在测试的时候报的错误,但并没有具体的报错信息; 不知道报错信息可以查看记录日志的表啊,汗!!!看来他...
  • 遇到了一个很有意思的问题,就是Oracle报了一个错java.sql.SQLException: ORA-01722: 无效数字,正常来说,报该错就意味着数据类型不匹配,但是因为同一sql语句,多加了一个条件,就查出结果,不加条件,反而报错,...
  • Ora01722 无效数字 报错带来的反省

    千次阅读 2016-09-20 13:30:11
    字符串,无法在默认转换的时候被转换成数字,所以就会报错无效数字。由于以前不好的习惯,导致了这个失误。甚至 会觉得自己没有错误,因为以前都是这样写的。 自我反省 不能因为Oracle越来越人性化,而忽视...
  • 如图,表输入插入更新到Oracle,这是由于Oracle目标字段为数字 而数据流(表输入)对应字段含有字符串的情况 解决:如图将字符串转为数字即可,我这里源端是Mysql,其他数据库可以自行调整转换。 ...
  • 运行报错 去掉数据格式化求和就可以,主要是因为当数据格式化中有一个数据超过1000 多一个逗号导致不能求和 去掉格式化就可以
  • 问题:  某表名tab,内有一个字符型字型需数值大小排序,但直接采用to_number、cast等手段均报ORA-01722: 无效数字 解决:  select t.xzjg from tab t  order by
  • // 报错 无效数字 select * from user t where t.customerid !=4099; // 没问题 百思不得其解啊,一直想着是不是字段设置的问题,对比了下另一个表,设置字段不为空啊,加个索引啊·都不行。 偶然点到 咦··
  • Oracle数据库查询请问: select * from A,B where A.CourseNum=B.billon;其中CourseNum为number类型,billion为varchar2类型,一直报错ORA-01722: 无效数字,谁帮忙改写一下?
  • ORA-01722: 无效数字, 主要是在使用SqlDataSource 连接数据库,使用LIKE语句查询的时候,遇到这样的错误。 SqlDataSource 连接sql server数据库时 SelectCommand="select * from tablename where name ...
  • ORA-01722: 无效数字

    2021-01-14 18:15:49
    如果columnid字段是Number类型,sql查询时用到where过滤columnid=1类似语句会报错: ORA-01722: 无效数字 需要columnid转换一下: TO_NUMBER(a.A_COLUMNID)=1
  • ORACLE无效数字

    千次阅读 2019-04-28 16:59:31
    出现无效数字的问题,一般是我们在sql语句中,进行string转换数字的时候报错或者赋值的时候、强转数字 1、对于两个类型不匹配(一个数字类型,一个非数字类型)的值进行赋值操作; 2、两个类型不匹配的值进行比较操作...
  • C#的sqlDataAdapter.fill报错:列名“你好”无效,但是我输入数字就正确,汉字就错误

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 186
精华内容 74
关键字:

报错无效数字