Oracle关联查询-数据类型不一致问题 ORA-01722: 无效数字
一、存在表A和表B,都包含字段user_no,但数据类型不一致,如下:
create table A (
user_id varchar2(20),
user_no number(12,0),
xxx
);
create table B (
user_name varchar2(60),
user_no varchar2(20),
xxx
);
二、现有某项业务需要用到A.user_id和B.user_name,通过user_no来做关联查询,如下:
select A.user_id,B.user_name from A,B where A.user_no=B.user_no;
select A.user_id,B.user_name from A,B where A.user_no=B.user_no and A.user_no='1234567';
三、问题:
1.当A.user_no和B.user_no全部为数字类型时,以上脚本是没有问题的;
2.当B.user_no的某一个或多个值包含非数字字符时,该脚本会报:ORA-01722: 无效数字
四、原因:
深层次原因待后续分析。
五、反思:
1.最根本的,应该避免不同表同一字段的数据类型不一致;
2.关联查询时增加数据类型转换,如:select A.user_id,B.user_name from A,B where to_char(A.user_no)=B.user_no;
3.如果项目中已经存在这种情况,应该确保varchar2类型的字段不会包含非数字字符。
转载于:https://www.cnblogs.com/yuhebin/p/10949683.html
Oracle关联查询-数据类型不一致问题 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 ...
- oracle数据类型查询,Oracle 空间查询, 数据类型为 sdo_geometry
数据:通过arcgis直连数据库,导入测试数据,导入时数据类型选择SDO_GEOMETRY. 测试数据包含点线面,点数据MAP_USER_POINT, 线数据MAP_USER_LINE,面数据MAP_ ...
- oracle 01722 无效数字,Oracle连接字符串报错误ORA-01722:无效数字的解决方法
Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串 Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似 ...
- Oracle 空间查询, 数据类型为 sdo_geometry
因网上搜索到的相关资料大部分都是关于sdo_geometry的介绍和以及通过sql语句添加要素,查询要素等等.没有找到存储过程相关的例子,所以只好自己动手啦. 准备 环境:windowsxp系统,安装 ...
- oracle关联查询取交集,Oracle 取两个表中数据的交集并集差异集合
Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据 例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集 ...
- oracle查询性能表关联,通过调节索引 优化Oracle关联查询性能
本文引用一套实验室信息管理系统(LIS)使用的数据库,假设我们要查询2008年11月做检验的患者记录,条件是大于80岁,姓周的患者,最终结果按检查日期进行倒序排列.要使用的表有三个: ◆lis_rep ...
- oracle关联查询月价格,Oracle EBS 常用查询 - 价格表查询
--根据价格表名称查询价格表头信息 Select Qp_List_Headers_Tl.Name As Price_List_Name,Qp_List_Headers_Tl.Description A ...
- oracle null 关联,oracle关联查询在ps/sql中正常,但是在C#中fill后值为空
SQL代码如下 with t1 as( select b.is_import,b.active_flag,b.last_upd,b.row_id,b.dsig_date,b.vicont_code,b ...
最新文章
- 2021年大数据Spark(四十九):Structured Streaming 整合 Kafka
- DNS域名解析服务配置会不会?
- 转:【Java集合源码剖析】LinkedHashmap源码剖析
- python 音速_webpack多页应用架构系列(十一):预打包Dll,实现webpack音速编译
- 被马云逼上绝路,睡了12年宾馆!中国最狠会计,拿下4600亿
- php文件的上传与删除方法
- java socket5源码_Java利用TCP协议实现客户端与服务器通信【附通信源码】
- 实现自动登录:Filter 实现思路和方式
- ae制h5文字动画_大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画
- 阿里修炼秘籍,如何快速成长的几个技巧?
- GOOGLE卫星地图 计算方式
- 【100%通过率】华为OD机试真题 Java 实现【猜字谜】【2022.11 Q4 新题】
- Flask表单提交的方法
- 【总结】最全面的Python面试知识!
- Vue实现导航栏切换
- 使用Guardium和QRadar检测数据库漏洞
- 文件管理之文件(外存)分配管理 恩赐解脱
- 计算机科学与信息系统专业世界大学排名,2018年QS世界大学计算机科学与信息系统专业排名TOP25...
- 使用docker跑通tasn-mxnet代码
- 【Axure教程】伸缩卡片
热门文章
- C语言 static - C语言零基础入门教程
- C语言变量声明和定义 - C语言零基础入门教程
- 网格变形动画MeshTransform
- React之类式组件
- 服务器nasjava文件共享,办公室文件共享之如何搭建共享服务器或文件共享服务器nas?...
- 中山大学计算机类专业分数线,中山大学计算机类专业2016年在广东理科高考录取最低分数线...
- dedecms联动筛选_DEDECMS分类信息按联动类别筛选的实现方法
- python linux log,linux,python 常用的处理log的命令
- commit git idea 速度慢_关于Git,这篇文章还不够吗?
- linux 内核被污染,导致Linux 4.20性能下降的STIBP已被Kernel 4.19系列内核移除