转发自:ORACLE-023:令人烦恼的 ora-01722 无效数字

主要原因如下:

1、对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作;
2、两个类型不匹配的值进行比较操作(例如,“=”);
3、to_number函数中的值,非数字的,比如,to_number('a')肯定是不行的,to_number('12306')则是正常的。
要避免这些问题,要做到在写sql语句时就好认真处理好不同类型的问题。
比如如果要比较的话,同时都用to_number强制转换(to_number(字段a) = to_number(字段b)),或者同时转换为字符串类型(字段a||'' = 字段b||'',都连接一个空字符串使之变成字符串类型)

今天在做Oracle语句测试联系的时候遇到了Oracle错误: ORA-01722 无效数字错误,经查询资料,发现是如下问题:

本人的SQL语句

select e.ename from emp e
inner join dept d
on e.deptno=d.deptno
inner join city c
on d.loc = c.cid
where cname='NEW YORK';

然而未发觉 dept表中的loc 是 varchar2类型,city表中的 cid是 number类型导致报错,现改正方案是将 cid使用 to_char函数转化为字符类型,便可以使用“=”做连接操作了
修改如下

select e.ename from emp e
inner join dept d
on e.deptno=d.deptno
inner join city c
on d.loc = to_char(c.cid)
where cname='NEW YORK';

运行结果

ORA-01722 无效数字出错原因以及以及分析总结相关推荐

  1. 讨厌麻烦的ora 01722无效数字

    webservice开发过程中,数据库由原来的oracle改为现在的sql server.然后重新调试,结果报出ora 01722无效数字的错误. 由于连接oracle数据库的时候并没有问题,所以一开 ...

  2. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换...

    类型不匹配,需要类型转换,函数:to_char()转换成字符, to_num()转换成数字 转载于:https://www.cnblogs.com/shenzhichipingguo/p/871710 ...

  3. java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ORA-02063 原因

    java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ORA-02063 原因1 : 是类和Oracle结果不匹配 原因2 : 传入参数和不是数字类型 原 ...

  4. oracle 01722 无效数字,Oracle连接字符串报错误ORA-01722:无效数字的解决方法

    Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串 Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似 ...

  5. Linux之core dumped出错原因及位置分析

    0 背景 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成"核心转储").我们可以认为 ...

  6. 在Exce中输入身份证号或长串数字出错的原因

     目录 在Exce中输入身份证号或长串数字出错的原因 原因是在输入身份证号前应先将单元格格式设置为文本格式,(一定要在输入前设置好) 第一步:在要输入的空白单元格处,点击右键选择"设置单元格 ...

  7. ora-01722 无效数字_SQL 错误: ORA-01722: 无效数字

    场景:PL/SQL开发时,错误"ORA-01722: 无效数字或者ORA-01722: invalid number"的原因分析(二) PL/SQL开发时,异常"ORA- ...

  8. “无效数字” ;java.lang.Integer cannot be cast to java.lang.String

    今天页面上突然查询不出数据,大致的sql语句是 select xx ,xxx from table a where a.lrmb in ( 6101060033, 61010503300, 61016 ...

  9. MySQL 无效数字_ORA-01722: 无效数字的解决方法

    Select Count(t.Wip_No) As Consignvendnewcreateno_Num From   Apps.View_Scm_Wip_Po t Where  1 = 1 And  ...

最新文章

  1. Spring Boot 缓存开发实战
  2. win32 实现死锁的小例子
  3. python封装c接口_用C为python3.1封装mysql接口(一)
  4. 使用iBatis数据映射框架吧
  5. Polygon Mesh Processing读书笔记——1三角网格Triangle Meshes
  6. json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)
  7. ma5200g启用mpls l2***故障处理一则
  8. express快速入门【含源码压缩包下载】
  9. java kinect_使用java来做Kinect开发
  10. Python-Locust接口压力测试
  11. Matlab 图片批量复制到word中
  12. PMP第十二章:项目采购管理
  13. 结果页要求用户复制链接进行分享 而不是直接调用浏览器分享API的原因
  14. 基于html和Node.js的网页音乐播放器设计
  15. OpenMMLab实战营打卡-第3课
  16. ffmpeg利用滤镜合并两个视频,一左一右
  17. 挫败感的来源自哪里?
  18. python里小于号怎么打_如何在嵌入xml的python脚本中使用大于或小于符号?
  19. 2021年改版之后的微信小程序获取头像及返回
  20. 如何做到网站排名百战百胜

热门文章

  1. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。
  2. 数字图像处理 低通、高通、带阻和带通滤波器
  3. 怎么删除html下面多余的空白页,word怎么删除空白页面(word删掉多余空白页方法)...
  4. 搜狗都上市了,王小川还是单身,难道要找AI当女朋友?
  5. java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
  6. wxpython 界面 加密系统
  7. vue element 单张图片上传,删除,预览
  8. Blizzard的MPQ文件格式搜索算法---来自Gameres bbs
  9. 甜品店如何用大数据进行选址要素采集
  10. R语言while循环计算圆周率