![]() |
1
0
试图将字符串转换为数字时,会出现ORA-01722(“无效数字”)错误 在执行插入时。。。值(…) 您尝试插入的数据项之一是无效数字。 定位并更正。 如果所有数字看起来都有效,那么您的列可能出现了顺序错误,并且VALUES子句中的一个项目被插入到NUMBER列中,而不是预期的VARCHAR2列中。当表中添加或删除了列时,可能会发生这种情况。 如果您正在执行插入或更新操作,则使用提供值的子查询。显然,前面的考虑也适用于这里。更复杂的是,有问题的字符串被隐藏为表中的一行。修复方法是识别具有非数字字符串的行,并更改数据(如果有错误)或向子查询添加一些内容以避免选择它。问题在于确定确切的行。 假设错误数据是字母字符,可以使用以下查询:
其中col是包含错误数据的列。 |
![]() |
2
0
尝试注释一半的字段名和值,并检查ORA-1722是否仍然存在。当您发现包含一半的错误时,请尝试注释其中的一半,依此类推。准确定位字段(&A);产生问题的值,检查并修复它们。 |