ORA-01722 无效数字出错原因以及以及分析总结
转发自: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 无效数字出错原因以及以及分析总结相关推荐
- 讨厌麻烦的ora 01722无效数字
webservice开发过程中,数据库由原来的oracle改为现在的sql server.然后重新调试,结果报出ora 01722无效数字的错误. 由于连接oracle数据库的时候并没有问题,所以一开 ...
- oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换...
类型不匹配,需要类型转换,函数:to_char()转换成字符, to_num()转换成数字 转载于:https://www.cnblogs.com/shenzhichipingguo/p/871710 ...
- java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ORA-02063 原因
java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ORA-02063 原因1 : 是类和Oracle结果不匹配 原因2 : 传入参数和不是数字类型 原 ...
- oracle 01722 无效数字,Oracle连接字符串报错误ORA-01722:无效数字的解决方法
Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串 Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似 ...
- Linux之core dumped出错原因及位置分析
0 背景 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成"核心转储").我们可以认为 ...
- 在Exce中输入身份证号或长串数字出错的原因
目录 在Exce中输入身份证号或长串数字出错的原因 原因是在输入身份证号前应先将单元格格式设置为文本格式,(一定要在输入前设置好) 第一步:在要输入的空白单元格处,点击右键选择"设置单元格 ...
- ora-01722 无效数字_SQL 错误: ORA-01722: 无效数字
场景:PL/SQL开发时,错误"ORA-01722: 无效数字或者ORA-01722: invalid number"的原因分析(二) PL/SQL开发时,异常"ORA- ...
- “无效数字” ;java.lang.Integer cannot be cast to java.lang.String
今天页面上突然查询不出数据,大致的sql语句是 select xx ,xxx from table a where a.lrmb in ( 6101060033, 61010503300, 61016 ...
- MySQL 无效数字_ORA-01722: 无效数字的解决方法
Select Count(t.Wip_No) As Consignvendnewcreateno_Num From Apps.View_Scm_Wip_Po t Where 1 = 1 And ...
最新文章
- Spring Boot 缓存开发实战
- win32 实现死锁的小例子
- python封装c接口_用C为python3.1封装mysql接口(一)
- 使用iBatis数据映射框架吧
- Polygon Mesh Processing读书笔记——1三角网格Triangle Meshes
- json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)
- ma5200g启用mpls l2***故障处理一则
- express快速入门【含源码压缩包下载】
- java kinect_使用java来做Kinect开发
- Python-Locust接口压力测试
- Matlab 图片批量复制到word中
- PMP第十二章:项目采购管理
- 结果页要求用户复制链接进行分享 而不是直接调用浏览器分享API的原因
- 基于html和Node.js的网页音乐播放器设计
- OpenMMLab实战营打卡-第3课
- ffmpeg利用滤镜合并两个视频,一左一右
- 挫败感的来源自哪里?
- python里小于号怎么打_如何在嵌入xml的python脚本中使用大于或小于符号?
- 2021年改版之后的微信小程序获取头像及返回
- 如何做到网站排名百战百胜
热门文章
- python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。
- 数字图像处理 低通、高通、带阻和带通滤波器
- 怎么删除html下面多余的空白页,word怎么删除空白页面(word删掉多余空白页方法)...
- 搜狗都上市了,王小川还是单身,难道要找AI当女朋友?
- java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
- wxpython 界面 加密系统
- vue element 单张图片上传,删除,预览
- Blizzard的MPQ文件格式搜索算法---来自Gameres bbs
- 甜品店如何用大数据进行选址要素采集
- R语言while循环计算圆周率