问题标签 [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.
sql - 无效号码错误!似乎无法绕过它
甲骨文 10g 数据库。我有一张桌子叫s_contact
. 该表有一个名为 的字段person_uid
。此person_uid
字段是 varchar2,但包含某些行的有效数字和其他行的无效数字。例如,一行可能有一个person_uid
“2-lkjsdf”,另一行可能是 1234567890。
我想只返回 person_uid 中具有有效数字的行。我正在尝试的 SQL 是...
翻译用空格替换所有数字,因此如果字段仅包含数字,则修剪将导致 null。然后我使用 decode 语句设置一些代码进行过滤。n=数字,c=字符。
当我只运行预览时,这似乎有效,但是当我添加过滤器时出现“无效号码”错误......
我只是不明白发生了什么!它应该过滤掉所有无效数字的记录,而 100 显然是一个数字......
有什么想法吗?非常感激!
sql - 在 Oracle 11g 中调用成员过程
可以说我有:
我怎么打电话insert_address
?
通过执行以下操作,我得到invalid number or types of arguments
我可以做到这一点并且它有效,但似乎是个坏主意:
谢谢
performance - oracle number 和 varchar join
我有一个连接两个表的查询。一个表具有 varchar 类型的列,而另一个表具有数字类型。我已经在 3 个 oracle 数据库上执行了查询,并且看到了一些奇怪的结果,希望可以得到解释。在其中两个数据库上,如下所示。
在这个查询中,tableA.col1 是 number 类型,tableB.col2 是 varchar 类型。这在其中两个数据库中运行良好,但在第三个数据库中却不行。在第三个我得到(ORA-01722)错误。在第三个中,我需要做类似的事情......
这适用于所有数据库。我的问题是为什么?上面是一个简化的查询,真正的查询稍微复杂一些,而且要检索很多数据,所以第一个版本要快得多。如果我能让它在所有环境中工作,那就太好了。
有谁知道为什么这可能在某些 oracle 数据库中有效,而在其他没有数据类型的情况下则无效?是否存在启用此类行为的全局设置?
sql - ORA-01722: 无效号码
我收到了臭名昭著的无效号码 Oracle 错误。Hibernate 正在发出一个包含很多列的 INSERT,我只想知道给出问题的列的名称。是否可以?
仅供参考,插入是这样的:
sql - Oracle 中的 TO_NUMBER 函数出现奇怪问题
如果记录数超过某个数字 n,则在 varchar2 列的 where 子句中执行 to_number 函数时遇到间歇性问题。我使用了 n 因为没有确切的记录数量。在一个 DB 上,它发生在 n 为 100 万之后,而另一个 DB 为 0.1。百万。
例如,我有一个包含 1000 万条记录的表,比如 Table Country,它的 field1 varchar2 包含数字数据和 Id
如果我以查询为例
这有效
但是如果我做查询
说无效号码失败
接下来我尝试查询
它再次起作用
因为我只得到了无效的号码,所以很混乱,但在日志文件中它说
它似乎与 SGA 大小有关,但谷歌在这方面并没有给我太多帮助。
有人对 TO_NUMBER 或大数据的 oracle 函数的这个问题有任何想法吗?
vb.net - Oracle XE + ODP.NET 恼人的视图错误
伙计们,这是我的观点:
当我执行 SELECT * FROM SISTEMA.VWTELA 时,它在 PL/SQL Developer 中运行良好,但是当我从我的 VB.NET 应用程序启动查询时,它会抛出一个非常烦人的错误 ORA-01722。
有任何想法吗?应用程序代码可以完美地与任何查询一起工作,因此它不是应用程序代码错误,而是来自 ODP.NET 的一些“超酷功能”。
已经尝试过 to_number、to_whatever 并且总是会发生相同的错误。
sql - 从具有数值的 varchar2 列中选择有时会给出无效数字错误
我试图理解为什么在某些系统上,当我尝试从 varchar2 列中选择一个值时,我会收到一条无效数字错误消息,而在其他系统上,我在执行完全相同的操作时却没有收到错误消息。
表是这样的:
和一个查询:
:some_number_value 始终为数字,但可以为空。
我们已经修复了查询:
这个原始查询在大多数系统上运行良好,但在某些系统上会给出“无效号码”错误。问题是为什么?为什么它适用于大多数系统而不适用于某些系统?
sql - 获取时强制 Oracle 错误
我正在尝试在我的应用程序中调试一个奇怪的行为。为此,我需要重现 SQL SELECT 查询将引发错误的场景,但仅在实际从游标中获取时,而不是在执行查询本身时。这可以做到吗?任何错误都可以,但ORA-01722: invalid number
似乎是显而易见的尝试。
我创建了一个表格,如下所示:
然后,我创建了几百行,其中主键的唯一值l
和othercol
. 然后我运行了一个 SELECT * 查询,在中间某处选择了一行,并将其更新为 string abcd
。我运行了查询SELECT KEYCOL, TO_NUMBER(OTHERCOL) FROM SOMETABLE
,希望能得到一些好的数据行,然后是一个错误。但我一直ORA-01722: invalid number
在执行步骤本身。
我已经使用 ADO(带有服务器端游标)和 JDBC 以及 PL/SQL Developer 以编程方式获得了这种行为。我怎样才能得到我正在寻找的结果?谢谢
编辑 - 意在添加,使用 ADO 时,我只调用Command.Execute
. 我没有创建或打开记录集。
oracle - 获取服务器端游标时 ADO“未指定错误”而不是实际错误
这与我最近的问题有关:Force Oracle error on fetch
我现在能够重现将 ADO 与 Oracle OLEDB 提供程序一起使用的场景,我可以强制发生错误,例如ORA-01722: invalid number
在调用时发生Recordset.MoveNext
但是,这不是返回给应用程序的错误。相反,应用程序看到Provider error '80004005' Unspecified error
. 如何让应用程序从数据库中查看真正的错误?如果重要的话,这适用于 Oracle 10g(客户端和服务器)。
示例代码大致如下:
c# - 来自 C# 的 Oracle 无效数字错误
我在我的 C# .Net 应用程序中运行以下代码,但我不断收到错误ORA-01722: invalid number。当直接在 PL/SQL Developer 中运行相同的 SQL 时,它完全按照我的要求执行,而不会抱怨。
这可能是什么原因造成的?
注意:我正在使用 Oracle.DataAccess.Client