`
53873039oycg
  • 浏览: 837193 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ORA-01722无效数字错误解决记录

阅读更多

      今天使用Oracle查询时候遇到了ORA01722错误:无效数字

    

 

      一看错误就是数据类型不匹配造成的,我的查询字段key_1虽然是varchar2类型的,但里面放的是number数字,查看aa表type_1字段里面值是没有非数字(数字类型)。我的查询语句如下:

    

select nvl((select value_1
             from static_mapp_table
            where key_1 = aa.type_1
              and key_type = 'TEST'),
           '未知')
 from aa

     简单的说static_mapp_table是一个类似Map的表,里面有key,value根据类型一一对应。
aa表的type_1字段确认不可能出问题,查看static_mapp_table表里面key_1字段都是数字,
而是直接使用:

    

select * from static_mapp_table where key_1='10000018' and key_type='TEST'

    查询,查询结果居然是NULL,而是怀疑该字段里面有非数字类型存在,直接使用

    

select value_1,length(value_1)
  from static_mapp_table
 where 1 = 1
   and key_type = 'TEST'

    结果如下

   

     如上所示,该字段初看长度是8实际长度是9,很可能里面多了空格

    

     解决方法:把空格去掉

     全文完    

  • 大小: 14.2 KB
  • 大小: 46.3 KB
0
0
分享到:
评论

相关推荐

    Oracle常用异常代码

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

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

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

    Oracle错误一览表

    例如,SQL语句的编写错误(如ORA-00904“无效的列名”)或者数据类型不匹配(如ORA-01722“无效数字”)属于语法和逻辑错误;系统资源不足(如ORA-01555“快照过旧”)或者数据库实例故障(如ORA-00060“死锁检测”...

    oracle常见Exception

    当尝试将非数字字符串转换为数字类型时,系统会抛出`INVALID_NUMBER`(ORA-01722)异常。 **解决方法:** 1. **验证输入**:确保所有用于数值计算的输入都是有效的数字格式。 2. **使用TRY/CATCH结构**:通过TRY/...

    ORACLE 异常错误处理

    有效的异常处理机制不仅可以帮助开发者更好地控制程序流程,还能够在出现问题时提供更详尽的错误信息,从而快速定位并解决问题。 #### 二、异常处理分类 根据ORACLE提供的异常处理机制,我们可以将异常分为三类: ...

    ORACLE 错误一览表

    Oracle错误代码一般由三位或四位数字组成,例如“ORA-00001”,“ORA-12154”等。每个错误代码都对应一个特定的错误信息,描述了错误发生的原因和可能的解决方案。下面我们将详细探讨一些常见的Oracle错误及其含义:...

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

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

    ORACLE 错误一览表part6

    Oracle错误代码通常以"ORA-"开头,后跟三位或四位数字。例如,"ORA-00001"、"ORA-12541"等。这些错误代码对应不同的错误情况,如并发控制、网络连接、数据完整性约束、SQL语法错误等。以下是几个可能出现在“ORACLE ...

    Oracle Exception汇总(自定义Oracle异常)

    9. **INVALID_NUMBER** (ORA-01722): 当尝试将非数字字符串转换为数字时,如果转换失败,Oracle会抛出此异常。在处理数据时,需要验证输入的格式是否正确。 10. **LOGGIN_DENIED** (ORA-01017): 提供的用户名和密码...

    Oracle数据库错误消息

    ### EXP-00014 在表格字符串的行数字错误 - **错误描述**:处理特定行数据时,Oracle遇到了错误。 - **解决方案**:检查行数据的有效性,排除任何可能导致错误的因素。 ### EXP-00015 表格字符串的行数,列字符串...

    Oracle21个预定义异常

    - **错误代码**:ORA-01722 - **场景示例**:在执行涉及数字计算的查询时,若某字段值非数字格式,将导致此异常。 #### 8. LOGINDENIED - **异常描述**:提供的登录凭证(用户名或密码)不正确时触发。 - **错误...

    Oracle常见问题的错误码大全

    5. 常见的Oracle错误码:除了前面提到的“ORA-00001”和“ORA-01403”,还有一些其他常见的错误码,如“ORA-01017”(无效的用户名/口令),这通常是因为登录信息不正确;“ORA-01555”(快照过旧),表示读一致性...

    Oracle--errorCode.zip_oracle

    例如,ORA-00001错误描述为“违反唯一性约束”,这意味着尝试插入的记录违反了表中的唯一性约束。 3. **解决方案**:文档可能会提供针对每个错误的可能解决方案,包括修改SQL语句、检查数据一致性、调整数据库设置...

    oracle错误编码一览

    当尝试插入或更新记录时,如果违反了表中的唯一约束(如主键),将会触发此错误。这意味着试图插入的数据与已有数据冲突,不能确保唯一性。解决方法通常包括检查并修改数据,或调整数据输入策略以避免重复。 ### ...

    oracle异常(最全异常收集)

    - **异常说明**:无效数字。 - **常见原因**: - 将非数字字符转换为数字类型时失败。 - 输入的数据格式不正确。 - **解决方案**: - 确保输入的数据是有效的数字格式。 - 使用适当的函数或方法对数据进行转换。...

    Oracle 错误码大全 ERROR CODE LIST

    比如,错误码ORA-01403表示“没有找到数据”,这可能是由于查询条件未匹配到任何记录导致的,解决方案可能包括检查查询条件、表结构或数据完整性。 5. **异常处理**:在PL/SQL编程中,可以使用`BEGIN...EXCEPTION.....

    Oracle 常用预定义异常

    7. **INVALID_NUMBER (ORA-01722)** - **描述**:当尝试将无法解析为数字的字符串转换为数字类型时触发。 - **示例场景**:例如,在输入非数字字符作为数字类型的参数时,就会触发此异常。 8. **NO_DATA_FOUND ...

    PLSQL教程.doc

    - **INVALID_NUMBER** (ORA-1722) - 对非数字值进行数字运算。 - **LOGIN_DENIED** (ORA-1017) - 无效的用户名或密码。 - **NO_DATA_FOUND** (ORA-1403) - 查询未找到数据。 - **NOT_LOGGED_ON** (ORA-1012) - 尚未...

    Oracle的NLS参数在开发与维护中的设置问题分析.pdf

    首先,文章提到的一个典型问题是在插入含有日期字段的记录时,由于日期格式不匹配导致的"ORA-01843:无效的月份"错误。这通常是因为输入的日期格式与Oracle会话默认的NLS_DATE_FORMAT不一致。通过`show parameters`...

Global site tag (gtag.js) - Google Analytics