`

oracle 检索数据的时候报ORA-01722: 无效数字

 
阅读更多

sql语句如下

 

select * from yhb_h t where t.user_id=56456464

 

 

在执行检索数据的时候报如下的错误

 

java.sql.SQLException: ORA-01722: 无效数字

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
        at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1062)
        at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
        at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4055)
        at oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:4195)
        at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1279)
        at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)

 

 

原因是user_id字段是varchar2类型的,里面正常是都是数字,但是有个别人录入数据的时候里面录了字母。

 

ORACLE将where t.user_id=56456464解释为where to_number(t.user_id)=56456464

 

所以进行全表扫描的时候就在将user_id转成数值的时候报错了。

 

解决的方法是将sql改成

select * from yhb_h t where t.user_id='56456464'

 

分享到:
评论

相关推荐

    oracle报错大全(珍藏版)

    ### Oracle报错大全(珍藏版) #### ORA-00001: Unique Constraint Violated 当尝试插入或更新违反唯一约束的数据时触发此错误。例如,在具有唯一索引的列上插入重复数据。 #### ORA-00017: Rollback Segment Full...

    oracle错误及解决方法

    - **ORA-00911:无效字符**:检查SQL语句中的字符是否合法,特别是字符串常量的引号。 4. 预防措施 - **定期备份**:定期进行数据库备份,以防数据丢失。 - **性能监控**:通过工具如DBA_HIST views监控数据库...

    Oracle 错误集选

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

    oracle错误报告.docx

    Oracle数据库是世界上最流行的数据库管理系统之一,它用于存储、管理和检索数据。在处理Oracle数据库时,可能会遇到各种错误,这些错误通常以ORA-错误代码的形式出现。以下是一些常见的Oracle错误及其详细解释: 1....

    oracle脚本 常用的数据库sql及pl\sql语言

    Oracle数据库是全球广泛使用的数据库管理系统,它提供了丰富的SQL(结构化查询语言)和PL/SQL(过程化语言/SQL)工具来支持数据管理和应用程序开发。本文将深入探讨Oracle中的SQL和PL/SQL语言,以及它们在数据库管理...

    oracle10g 错误代码

    错误代码在Oracle数据库中通常以两位或三位数字表示,如ORA-00001、ORA-600等。这些代码代表了特定的错误类型,例如数据一致性问题、系统资源不足、网络连接故障等。错误代码的前缀“ORA-”是Oracle的专属标识,后面...

    Oracle官方文档CHM合集-Oracle10g错误代码

    1. **错误代码**:这是特定错误的唯一标识符,例如"ORA-00001",通常以"ORA-"开头,后面跟着五位数字。 2. **错误消息**:当错误发生时,数据库系统会显示的一段描述性文本,解释了错误的原因和可能的影响。 3. **...

    oracle错误提示全集

    Oracle错误通常以“ORA-####”的形式出现,其中“####”是四位数字的错误代码。每个错误代码都有一个独特的含义,反映了数据库在执行操作时遇到的具体问题。例如,"ORA-00922: 选项无效"表示在SQL语句中使用的某个...

    Oracle错误码大全(CHM).rar

    在Oracle数据库中,错误码通常以数字形式出现,如ORA-00001到ORA-65535,其中前缀"ORA-"是Oracle错误的标识,数字部分则代表具体的错误类型。错误码大全中,你可以找到如下的信息: 1. 错误码:错误码的具体数值,...

    Oracle数据库错误消息

    - **错误描述**:导出过程中,Oracle无法从数据字典中检索到特定列的信息,这可能意味着表已被删除或数据字典本身存在问题。 - **解决方案**:尝试重新执行导出操作,如果错误持续出现,应报告给Oracle Support ...

    oracle 基础教程02

    通过对Oracle基础教程中关于SQL命令分类的介绍,我们可以了解到SQL不仅是一种强大的数据检索工具,也是管理数据库结构和数据的重要手段。掌握这些基本概念对于使用Oracle数据库进行高效的数据管理和操作至关重要。...

    Oracle数据库基础知识

    - **2.4.1 SQL**: 结构化查询语言,用于检索和管理数据。 - **2.4.2 PL/SQL**: Oracle的内置编程语言,增强SQL的功能。 - **2.4.3 数据库管理工具**: 包括SQL*Plus和其他管理工具,用于日常管理和监控。 **2.5 ...

    Oracle创建视图(View)

    视图:是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。 视图是存储在数据字典...

    Oracle数据库DBA面试题

    索引可以加速数据检索过程,特别是对于大型数据库来说。通过索引,可以直接定位到数据所在的块,从而快速访问表中的数据块。 #### 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 - **Fact Table**:存储...

    Oracle数据库基础知识 ISSUE1.0.doc

    文档中还列举了一系列常用的Oracle数据库管理任务示例,包括数据文件的恢复、session的管理、字符集的修改、表空间的扩展、无效对象的查询等,这些示例涵盖了数据库日常管理的各个方面,对于DBA来说是非常实用的参考...

    非常完整和齐的Oracle总结文档第2版本

    Oracle数据库中,rownum是用于分页查询的关键字,可以方便地进行数据检索和删除重复记录。例如,通过rownum可以实现只选择每个分组的第一条记录,从而消除重复数据。 解锁Oracle中的锁定账号,如scott,可以使用...

    基本的Sql编写注意事项

    `NOT EXISTS`在某些情况下比`NOT IN`更快,尤其是在处理大量数据时。 3. `<>`或`!=`操作符可能导致全表扫描,因此应避免使用,可以用`或`>`替换。例如,`WHERE column > value1 OR column 代替`WHERE column <> ...

Global site tag (gtag.js) - Google Analytics