问题标签 [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 投票
5 回答
3192 浏览

oracle - IN 子句的函数或过程

我想编写一个可以在另一个过程的 IN 子句中使用的函数或过程。该函数或过程将返回 ID 号。

主要程序会说类似

GET_OFFICE_IDS 返回一个 VARCHAR2,ID 用逗号分隔。当我运行主程序时,我得到一个“ORA-01722:无效号码”错误,这是有道理的,但我不知道我需要从这里去哪里。

我是否需要 GET_OFFICE_IDS 来创建主过程使用的临时表?如果是这样,会不会有性能损失?

0 投票
3 回答
26643 浏览

java - oracle jdbc驱动版本疯狂

为什么 Oracle 为每个(!)数据库版本提供不同(!)版本的 JDBC 驱动程序,例如 ojdbc14.jar?
这些文件都有不同的大小,因此可能有不同的内容。

背景:
我们在保存数据时收到一个随机且看似不可重现的错误,说“无效数字”(我们猜测它是时间戳)。但这不是任何特定的陈述。大多数时候,它保存得很好。一个月一次,看似无害的声明就会失败。

所以我仔细查看了 Oracle 的下载站点,发现尽管文件共享相同的名称,但没有一个文件大小匹配。

我们的产品在客户维护的数据库上运行,即客户运行的任何版本和补丁都是如此。
那么我们使用什么驱动呢?最新的(Oracle 11g)——尽管它通常是9i 和10g 数据库?

他们为什么不将所有版本链接到同一个“一个驱动程序适合所有人”文件?
或者是否存在细微的差异会导致我们的随机错误等影响?

编辑:我误解了 9i 数据库。

0 投票
2 回答
2911 浏览

java - EJB3 查询 + in 子句

我需要使用如下 SQL 的 IN 子句

我如何在 EJBQL 中做到这一点?

我尝试了以下方法,显然失败了:

然后在java中我做了

这给了我以下例外

0 投票
2 回答
1590 浏览

sql - oracle pl/sql oracle-01722 错误

我的程序中有一个简单的 oracle 语句:

v_qstns_to_delete 是一个正在传递的参数。它是一个 varchar2 字段,a.qstn_id 是一个数字字段。

调用存储过程时,对于 v_qstns_to_delete,我将传递以下字符串:“24、43、23、44、21”。

当我运行语句输出存储过程时,它运行良好,但是当我将它作为存储过程运行时,我在上面的行中收到一个错误,提示数字无效。

有什么线索吗?

0 投票
1 回答
7764 浏览

oracle - Oracle Sql Loader 控制文件有问题

我正在尝试使用 sql loader 加载一些数据。这是我的控制/数据文件的顶部:

...许多其他数据线。

问题是 sql 加载器无法识别我指定的数据类型。这是日志文件:

...如果尝试将 char 数据插入数字列,则会出现许多类似的错误。

我试过没有数据类型规范,所有其他数字规范,总是同样的问题。有任何想法吗?

另外,关于它为什么要更改 Rows 参数的任何想法?

0 投票
2 回答
332 浏览

asp.net - 无法在 ASPX 中过滤 Oracle SELECT

ASP.Net 2 数据源的一部分:

这提供了一个有效的 GridView。显示屏显示

是文本(非数字)。

我想使用文本框作为“包含”过滤器,即,如果我在框中输入“恢复”,我希望添加数据源

到 SQL。如果我对该行进行硬编码,它就可以工作。

但是如果我添加

在不更改 SQL 的情况下,我没有返回任何行。然后,如果我把

进入 SQL,当文本框为空白时,我没有得到任何结果,并且 ORA-01722:当我将字符放入其中时,数字无效。

0 投票
2 回答
5795 浏览

sql - ORA-01722: 无效号码

当我使用单引号执行以下 SQL 命令输入数字时,如果删除单引号,则会出现错误,它已成功更新。知道字段 HEIGHT 的类型是 NUMBER。

奇怪的是我尝试在不同的机器上使用带单引号的相同sql语句,有些机器执行成功,有些机器没有。(相同的oracle版本,相同的表结构......)

请有任何解释

0 投票
2 回答
1134 浏览

sql - Oracle 10.2 行为怪异。还是我

请查看以下查询。SQL 并不像看起来那么糟糕。基本上,我们有一个事实表和一些维表的简单连接。然后我们有一个派生表的连接,给定别名 ACCOUNTS-DIM-DEP

用户抱怨当他们的 WebI(商业智能)报告在他们的过滤器中包含多个 COST CENTERS 时,导致 SQL 的“IN”包含多个值,返回以下错误:

否则,对于单个 COST CENTER,报告工作正常。有趣的是,我注意到以下连接条件(在我看来UNRELATED)对 SQL 产生了负面影响:

这里的问题是左侧的列accounts_dim_dep.account_id 在db 中定义为charchar,右侧的col dw_mgr.fa_trans_fct.depreciation_account_id 定义为数字。

当我修改连接条件以将数字转换为 varchar 时...

...无论过滤器中指定的 COST CENTERS 数量如何,SQL 都可以正常工作。


我想知道一个看似不相关的列上的类型不匹配如何影响是否可以在 IN 列表中指定多个 COST CENTERS。

0 投票
1 回答
833 浏览

sql - 使用表达式的结果改变 Oracle 序列

我有两个变量

我正在将值读入这些值,然后尝试根据它们更改序列

位我收到“无效号码”错误或 SQL 命令未结束错误。

即使我尝试硬编码数字也会发生这种情况

我在这里遗漏了一些明显的东西吗

0 投票
1 回答
580 浏览

sql - 难以实现 REGEXP_SUBSTR

我在 Oracle 10g 上运行 SQL 查询。我有两个表(下面提供的示例数据)。我正在尝试从表 t2 中提取一些字段并更新表 t1 中的空列。我遇到以下错误:

ORA 01722: 无效数字(指向REGEXP_SUBSTR

我知道这是因为我的表中的非数字数据(如“NO code {...}”),我试图使用 REGEXP_SUBSTR* 表达式提取我想知道是否有人可以建议我一些替代实现帮我“复制整个字符串”而不是抛出异常。

临时表 t1

谢谢,

新手