热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle-ORA-01722invalidnumber错误

忽然有一天,好好的系统报错:ORA-01722invalidnumber环境:Oracle9+JDBC访问数据库,之前是好的,忽然发现这个错误后来才知

忽然有一天,好好的系统报错:ORA-01722 invalid number环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误后来才知

忽然有一天,好好的系统报错:ORA-01722 invalid number

环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误

后来才知道缘由

1. 代码里面执行了如下SQL语句:

select mdn from tablename where mdn=13800000000

tablename表里面的mdn字段是varchar2()类型字段,,由于Oracle的字段类型隐式转换功能

上面的SQL语句通常是可行的,查询的时候oracle解析该条件时,会首先to_number(mdn) 再和where mdn=13812345678进行比较判断,如果能够确保mdn字段里面存放的全为数字那么这个语句是一直不会报错的(可能存在效率问题),但偏偏有人误操作在mdn里面加入了几个字母133aa000000,如果还是上面的语句,并且表里面没有13800000000这个用户的数据, 当查询扫描到133aa000000时to_number(mdn)报错ORA-01722 invalid number

2. 因此写SQL语句的时候最好还是规规矩矩的写:

select mdn from tablename where mdn='13800000000'

什么问题都没有!

linux

推荐阅读
  • 本文将深入探讨MySQL存储引擎的特性及其选择策略。在MySQL 5.1之前的版本中,存储引擎必须与MySQL一同编译和安装。自5.1版本起,存储引擎通过插件化接口实现,显著提升了灵活性和扩展性。文中详细分析了不同存储引擎的特点,如InnoDB、MyISAM等,并提供了针对具体应用场景的优化建议,帮助读者更好地理解和选择适合的存储引擎,以提升数据库的整体性能。 ... [详细]
  • MySQL 数据库连接池优化及高效大批量数据插入策略
    本文探讨了 MySQL 数据库连接池的优化方法及高效大批量数据插入策略。首先,通过合理配置数据库连接池,提高连接效率。接着,利用线程池技术进行并发处理,进一步提升性能。最后,通过批处理方式批量插入数据,减少 I/O 操作,确保数据写入的高效性和稳定性。此外,还介绍了具体的配置参数和优化技巧,以帮助开发者在实际应用中实现更好的性能表现。 ... [详细]
  • 本文深入解析了 Python 爬虫技术在 B 站数据挖掘中的应用,通过分析海量用户行为和内容数据,揭示了热门 UP 主成功的背后因素。Python 作为一种强大的编程语言,其面向对象和解释执行的特点使其成为数据抓取和处理的理想选择。文章详细介绍了如何利用 Python 爬虫技术获取 B 站的数据,并通过数据分析方法,探讨了热门 UP 主的创作策略和互动模式,为内容创作者提供了有价值的参考。 ... [详细]
  • 点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!来源|https:github.comwizardbyronprinci ... [详细]
  • 本文探讨了在 SQL 中将中文字符转换为拼音首字母的有效方法和技巧。通过使用特定的函数和算法,可以实现中文名称的快速拼音首字母提取,从而提高数据处理的效率和准确性。文中还提供了具体的示例和代码片段,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在 Asp.net 应用中,动态加载 DropDownList 控件的数据源是一项常见需求。本文探讨了如何高效地从数据库中获取数据,并实时更新下拉列表,确保用户界面始终与后台数据保持同步。通过使用 ADO.NET 和 LINQ to SQL 技术,开发者可以轻松实现这一功能,同时提高应用的性能和用户体验。文中还提供了代码示例和最佳实践,帮助开发者解决常见的数据绑定问题。 ... [详细]
  • 深入解析 SQL Server 中的聚合函数 SUM() 使用方法与技巧 ... [详细]
  • 本文提供了Oracle数据库日常管理和操作的实用指南,详细介绍了如何创建表的SQL代码示例,例如:`CREATE TABLE test (id VARCHAR2(10), age NUMBER);` 同时,还涵盖了数据表的基本维护、索引优化及常见问题解决策略,旨在帮助数据库管理员提升工作效率和数据管理能力。 ... [详细]
  • Oracle培训(三十七)——深入解析Hibernate第三章:实体关联关系映射详解
    在本节Oracle培训中,我们将深入探讨Hibernate第三章的内容,重点讲解实体关联关系映射的详细知识点。首先,回顾了Hibernate的基本概念和映射基础,随后详细分析了不同类型的实体关联关系,包括一对一、一对多和多对多关系的映射方法及其应用场景。通过具体的示例和代码片段,帮助读者更好地理解和掌握这些复杂的映射技术。此外,还讨论了如何优化关联关系的性能,以及常见的问题和解决方案。 ... [详细]
  • MySQL 5.6 引入了全局事务标识符(GTID)和多线程复制机制,显著提升了数据库的可靠性和性能。GTID 作为一种新的事务标识方式,确保了事务在主从节点间的一致性,避免了传统基于日志位置的复制可能出现的问题。多线程复制则通过并行处理多个复制任务,大幅提高了复制效率,特别是在大型数据库环境中表现更为突出。这些新特性不仅增强了 MySQL 的高可用性和扩展性,还为数据库管理带来了更多灵活性和便利性。 ... [详细]
  • 在“跃迁之路”专栏中,我们将继续深入探讨SQL习题,本期重点是巩固MySQL多表查询的基础。具体操作包括创建一个名为`day09_exercise`的数据库,以帮助读者更好地理解和实践相关知识点。通过这一练习,读者可以进一步提升对多表查询的理解和应用能力。 ... [详细]
  • 在解决Android应用程序中的ANR问题时,我引入了StrictMode机制。尽管之前未曾使用过这一工具,但通过实践发现它能有效检测并定位性能瓶颈。日志中出现的两个违规记录,除了前四行信息和持续时间存在差异外,还可能涉及不同的线程或操作类型。深入理解这些差异有助于更好地优化应用性能。 ... [详细]
  • 优化后的标题:封装游标存储过程以提升SQL执行效率(Pr_execsql2) ... [详细]
  • BIRT概述与安装指南
    本文旨在介绍BIRT(Business Intelligence and Reporting Tools)的基本概念及其安装流程。首先,详细解析了BIRT的定义、组成结构及其核心优势。随后,提供了BIRT报表制作工具的安装指南,包括下载源的选择与安装步骤,帮助用户快速上手并利用BIRT进行高效的数据分析与报告生成。 ... [详细]
  • 在Linux系统中将Python更新至3.7版本的方法如下:首先,从Python官方网站下载Python 3.7的安装包,例如使用 `wget` 命令下载 `Python-3.7.3.tgz`。其他版本的下载链接也可从Python官网获取。接下来,解压下载的文件并进入解压后的目录,运行配置脚本和编译命令以完成安装。确保在安装过程中添加Python 3.7到系统的环境变量中,以便全局使用。此外,建议检查当前系统的Python版本,以避免冲突。 ... [详细]
author-avatar
小嘿嘿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有