`

ORA-01722: 无效数字

阅读更多
场景:同样的代码同样的数据库表结构,但生产环境没有报错,而测试环境却报错:ORA-01722: 无效数字,

分析:经分析发现问题,查询语句中的一个条件字段为字符型,而传的参数是Long类型,捞出语句放在生产库查询不报错,测试库报错,确定应该是数据库数据问题。

场景重现:
建个测试表:
create table test_invalide_num
(
  Id NUMBER(12) not null,
  STATUS_CD               VARCHAR2(6) not null
)
其中status_cd字段为字符型,然后我们插入数字,如下图:



然后进行查询,结果正常并没有报错,如下图:



接着我们再插入一条数据,如果下图:


然后再进行查询,结果报错了,如下图:



总结:查询条件参数类型一定要匹配,虽然不匹配不一定会报错,但匹配一定不会报错,同时如果类型不匹配,有索引的话会不起作用,影响性能。

  • 大小: 2.1 KB
  • 大小: 2.3 KB
  • 大小: 2.1 KB
  • 大小: 17.9 KB
分享到:
评论

相关推荐

    oracle ora-各种常见java.sql.SQLException归纳

    ORA-01722: 无效数字 ORA-01722 是一个常见的错误信息,通常发生在尝试将字符串类型的值填入数字型时。这种错误通常是由于开发者在编写 SQL 语句时,忘记了某个列名或写错了列名,导致 Oracle 无法将字符串类型的值...

    kettle_使用中的一些常见问题

    错误描述:在尝试插入数据时,Oracle 报告 `ORA-01722: 无效数字` 错误,这通常是因为字段格式不匹配。例如,字段 "field2" 的值 "1,798" 被识别为字符串而非数字。 解决方案:在 Kettle 的【Excel 输入步骤】中,...

    Oracle数据库并行查询出错的解决方法

    ORA-01722:无效数字 12801.00000 -error signaled in parallel query server %s *Cause: A parallel query server reached an exception condition. *Action: Check the following error message for

    oracle 数据库错误一览表

    十、ORA-01722:无效数字 这意味着试图将非数字字符串转换为数字。检查输入数据的格式,确保它们符合数字的预期格式。 以上只是Oracle数据库错误中的一部分,实际使用中可能会遇到更多种类的错误。对于每个错误,...

    oracle常用命令及错误类型(error message)

    4. ORA-01722:无效数字 - 解决:确保将字符串转换为数字时输入正确格式的数据。 5. ORA-00911:非法字符 - 解决:检查SQL语句中的语法,确保没有非法字符。 6. ORA-01017:用户名/口令无效 - 解决:确认登录...

    Oracle 错误集选

    ### ORA-01722: 无效数字 当尝试将非数字字符转换为数字时,会出现这个错误。确保输入数据的格式正确,避免非数字字符混入数字字段。 ### ORA-01776: 无法通过连接视图修改多个基表 此错误发生在试图通过连接视图...

    ORACLE 错误一览表part1

    4. ORA-01722: 无效数字 这个错误通常出现在试图将非数字字符转换为数字,或者数字格式不正确时。检查涉及数值操作的列和表达式,确保数据类型匹配。 5. ORA-00911: 无效字符 这表明SQL语句中包含了Oracle数据库不...

    oracle常见错误解析

    6. ORA-01722: 无效数字 这个错误表示在尝试将非数字字符串转换为数字时发生了错误。检查SQL语句中的数值操作,确保所有的数字格式正确无误。 7. ORA-02091: 事务处理中断 如果事务中的一个操作失败,会导致整个...

    Oracle常用异常代码

    INVALID_NUMBER (ORA-01722) **异常描述:** 当尝试将非数字字符串转换为数值类型时触发此异常。 **解决方法:** - 在转换之前验证输入数据是否为有效的数字格式。 - 使用适当的错误处理逻辑来捕获并处理此类异常...

    ORACLE+错误一览表 第一部分

    5. ORA-01722:无效数字。当尝试将非数字字符串转换为数字时,或者数字格式不正确,会出现这个错误。 理解这些错误代码和其对应的解释对于数据库管理员和开发人员来说至关重要,因为它们可以帮助快速定位问题所在,...

    Oracle错误代码及解决方法

    错误号是一个三位或四位的数字,如ORA-00001,其中“ORA”是Oracle的前缀,后面的数字是具体的错误编号。 2. ORA-00001:唯一性约束违反。这个错误通常发生在尝试插入或更新违反唯一键约束的数据时。解决方法包括...

    oracle常用函数和常见错误积累

    4. **ORA-01722:无效数字**:当尝试将非数字字符转换为数字时,会出现这个错误。确保数据类型匹配,并正确处理输入数据。 除此之外,Oracle spool功能是一个实用工具,常用于批量输出SQL查询结果到文件。通过spool...

    Oracle错误代码集合[归类].pdf

    25. ORA-17026: 数字溢出,当数值运算结果超过了数据类型的允许范围时,会抛出这个错误。 以上仅是部分Oracle错误代码的解析,每个错误代码都对应着特定的故障情况,解决这些问题需要结合具体的上下文和数据库日志...

    Oracle错误代码集合[参考].pdf

    15. ORA-17021 至 ORA-17050: 包含一系列的类型定义、数据处理和转换错误,例如丢失的定义、不支持的特性、数字溢出、无效的长度或类型不匹配。 16. ORA-17051 至 ORA-17069: 主要涉及UDT(用户自定义类型)、REF、...

    SQLException

    7. **ORA-01722: invalid number** - **含义**:在SQL语句中,字符串转换为数字失败,因为该字符串不是有效的数字格式。 - **解决方法**:确保所有的数值输入都是正确的格式。 8. **ORA-06530: ACCESS_INTO_NULL...

    oracle错误报告.docx

    2. ORA-00911: 无效字符。此错误表明标识符的起始字符或包含不允许的字符。标识符应以字母、数字、$、#或_开始,后续字符可以是这些字符加上双引号内的任意字符。避免使用特殊字符或不符合规则的标识符。 3. ORA-...

    预定义异常

    7. **INVALID_NUMBER (ORA-01722)** - 描述:字符到数字的转换失败。 - 举例:尝试将非数字字符串转换为数值类型。 8. **LOGIN_DENIED (ORA-01017)** - 描述:使用无效的用户名或密码登录Oracle。 - 举例:当...

    ORACLE错误码大全_中文

    Oracle错误码是数据库在运行过程中遇到问题时给出的反馈,通常以"ORA-"开头,后跟三位或四位数字。这些错误码可以帮助我们定位问题的根源,并采取相应的解决措施。 1. ORA-00001: 违反唯一约束条件 当插入或更新的...

    Oracle错误代码一览表

    #### ORA-00077: 转换无效 在进行数据类型转换时,如果转换操作不符合规则,例如尝试将字符串转换为数字但字符串格式不正确,就会触发这个错误。检查转换前的数据格式,确保其符合目标数据类型的转换规则。 #### ...

    Oracle_Errors描述

    6. **ORA-01722: invalid number** 当试图将非数字字符串转换为数字,或者数字格式不正确时,会触发此错误。确保数据类型匹配或输入数据的格式正确即可避免。 7. **ORA-00911: invalid character** 在SQL语句中发现...

Global site tag (gtag.js) - Google Analytics