问题标签 [ora-01722]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1421 浏览

oracle - 循环游标时出现 PL/SQL 错误 ORA-01722

对于一个项目,我需要根据同一属性的值修改表中的一些属性。我决定使用游标,并写了以下内容:

在这种情况下,reknummer是一个 Varchar,saldo是一个数字(10,2),rentepercentage是一个数字(3,2)。

执行时,我收到以下错误:

ORA-01722: 执行 PL/SQL 代码的编号无效。

不确定它是否重要,但此代码块位于单击按钮的动态操作中。我试图找到我的错误,但一直无法找到。有人可以帮忙吗?

0 投票
1 回答
4120 浏览

oracle - ORA-01722无效的数字 - 表连接

所以我有这个简单的 oracle 查询,它返回我预期的记录:

如果我把它变成这样:

它给了我“ORA-01722 无效号码”错误

我无法理解为什么,因为我的“numero = 88”实际上是一个数字......

最奇怪的是,如果我对连接进行注释,查询会再次运行:

并且连接与“numero”字段无关......

如被问及,我在这里张贴表格:

有什么想法吗?

0 投票
1 回答
464 浏览

oracle - Oracle 数据库查询 session_per_user 大于 40 的所有数据库配置文件

我想用 session_per_user > 40 查询我拥有的所有数据库配置文件。我使用的测试数据如下:

我从这个查询开始

这导致 ORA-01722: invalid number 因为您无法对字符串执行数学运算。

所以我尝试了这个:

即使第二个查询过滤了默认和无限制的查询,我仍然收到无效号码。

对于大多数事情,这个问题不会存在,因为该列将被限制为专门的数字或字符串,但是使用此数据库设置我显然无法更改任何内容,并且在生产系统上,默认值和无限制值在实践中使用.

0 投票
1 回答
214 浏览

oracle - CSV 数据导入期间的 ORA-01722

我知道这有很多线程,但我完全被难住了(是的,我是初学者)。

表定义:

我的表有超过 36,000 行 - 但是我只收到随机行的此错误。错误行的示例:

我理解错误的含义,但不明白我为什么会得到它。我只有 2 个 VARCHAR2 字段,“Channel”和“Region”。任何帮助将不胜感激。TIA。

0 投票
2 回答
1215 浏览

string - 在 Oracle 上搜索第 4 个字符

我只需要将我的查询过滤到字符串中的第 4 个字符为“H”,例如: CM1H8A6

我试过instr(m_reference,' ',1,4),但它不允许非数字值。

谢谢,阿鲁娜

0 投票
1 回答
451 浏览

oracle - 错误,无效编号 Jasperstudio 和 Oracle 12c

在以下 SQL 中:

我想获取十进制数据,使用 TO_NUMBER 和 CAST (XX AS FLOAT) 但它不起作用。

此查询在 ORACLE 12c 中运行并且工作正常,但是当我在 JasperStudio 6.3 中执行它时,我得到

错误 ORA-01722: 无效号码。

我真的不知道错误在哪里,请帮助。

0 投票
1 回答
45 浏览

sql - 根据另一个表中的字符串插入关联的 ID

我正在尝试根据其他两个表中的数据将数值插入表中。这些数值与表中的字符串相关联SL_TERMS。这些字符串在另一个表中使用UPLOAD_TEST,其中包含我要填充的数据PC_TEST

例如,如果UPLOAD_TEST有字符串“environment”并且它的 ID 是 1 SL_TERMS table,我想将值 1 插入到PC_TEST. 到目前为止,这里有两个代码示例:

两者都给出ORA-01722: invalid number错误。和WHAT_ID字段TERM_ID都是数字。字符串是否可能没有正确匹配?TRIM在这种情况下,我可能需要对LOWER来自UPLOAD_TEST. 任何帮助/建议表示赞赏。

e.WHAT并且t.TERM_NAME是具有一对多关系的相同字段。因此,在 中SL_TERMS,该值TERM_NAME = 'environment'存在一次,其关联的 也是如此TERM_ID = 1。它可能存在于UPLOAD_TEST.

因此,流程是e.WHAT(字符串)--> t.TERM_NAME(字符串)--> t.TERM_ID(数字)。

我等同的原因t.TERM_NAMEt.TERM_ID因为我在调用e.WHAT( t.TERM_NAME) 时需要该关联的 ID。我不知道这是否是正确的方法(看起来不像),所以如果有办法TERM_ID从字符串( )调用 ID( TERM_NAME),那就是我需要的。

0 投票
0 回答
351 浏览

oracle - ORA-01722无效数字但值不是数字

我试图在 Oracle 数据库中插入一些东西,我得到:ORA-01722 invalid number

我知道当 Oracle 尝试将字符串转换为数字并失败时会发生这种情况。我已经阅读了许多类似的问题,但没有一个真正帮助我。

我已经设法找到造成问题的字段,它的值是:

它正在使用 的 batchUpdate 方法进行更新org.springframework.jdbc.code.JdbcTemplate,并插入一行:ps.setString(22, item.getDzvalue())

item.getDzvalue 是DZ40209000,但它被设置为的字段是 NCHAR(60)。

为什么会发生任何数字转换?我有点困惑,但据我了解,NCHAR 应该能够在列中获取这个值。

0 投票
0 回答
209 浏览

xml - 错误 ORA-01722: 使用 Xmlagg / Xmlelement 在 Select 中无效使用 Number

我收到以下查询的上述错误 - 只有在它已经运行了大约 30 分钟之后。
因为我在这段时间之后才收到错误,所以我想知道它是否是由查询结束时的某些东西引起的,例如 ** .EXTRACT**?

我尝试对 Xmlelement 中的所有项目使用TO_CHARandNVL也无济于事。

但是,当我对第 2 到第 6 列分别使用相同的结构(Rtrim / Xmlagg / Xmlelement)时,它可以正常工作(它只是对我没有帮助)。
Listagg 也可以,但不允许使用足够的字符。

有人可以告诉我我在这里做错了什么吗?

错误信息:

ORA-01722 ... 无效使用 NUMBER。

我的查询:

这里的问题是否有可能是我','用作 EXTRACT 分隔符但在我的列值中的某处也可能有逗号?

更新:
当我取出第 5 列和第 6 列的行时,它可以工作。第 4 列也是数字格式,所以不是格式造成的。

非常感谢任何帮助,
迈克

0 投票
1 回答
553 浏览

ora-01722 - 出现错误 Ora - 01722:在 where 条件下具有数字类型的两列之和的数字无效

对于我的查询,我得到 Ora - 01722: invalid number for below condition,col1 和 col 2 的类型为 number(17,2)。

哪里 col1 + col2 <> 0

这个查询工作得很好 - WHERE col1 + col2 = 0

有人可以在这里帮忙吗?