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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1096: 字符逆序

1096: 字符逆序 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 2017 Solved: 1059 [Submit][Status][Web Board] Description 将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 Input 输入包括一行。 第一行输入的字符串。 Output 输出…

Ajax_Apache访问资源文件的权限配置、资源存放路径配置、配置虚拟主机、动态网站静态网站区别...

1、配置资源的访问权限 修改配置文件:httpd.conf 文件 改完之后要重启 2、切换资源默认存放目录www 修改配置文件httpd.conf 文件中的存放目录 3、Apache是否能够同时支持多个站点 Apache能否支持通过不同的域名访问不同的站点 可以 做法:配置虚拟主机…

Public Sale【博弈】

Public Sale Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10573 Accepted Submission(s): 6257 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运&am…

Being a Good Boy in Spring Festival【博弈】

Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8876 Accepted Submission(s): 5446 Problem Description 一年在外 父母时刻牵挂 春节回家 你能做几天好孩子吗 寒假里…

web安全之文件上传漏洞攻击与防范方法

2019独角兽企业重金招聘Python工程师标准>>> 一、 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的…

Rabbit and Grass【博弈】

Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4728 Accepted Submission(s): 3592 Problem Description 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的&#xff…

苹果可弯曲屏幕新专利获准,折叠iPhone最快2020年现身?

当三星Galaxy Fold、华为Mate X等折叠手机陆续问世时,所有果粉都想问一个问题折叠iPhone在哪里?就在最近有报导指出,苹果获得一项关于折叠屏幕的新专利。新专利出炉,但折叠iPhone还要再等等。本周二,美国专利与商标局授…

Brave Game【博弈】

Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14813 Accepted Submission(s): 10086 Problem Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中…

Google File System 学习笔记

GFS翻译:https://www.cnblogs.com/cxxjohnson/p/4984309.html 一、GFS架构: 二、保存文件的方式 1、保存小文件:磁盘中分块,每个block大小为1024Byte,每个文件的索引由块号偏置组成 2、保存大文件:把block换成chunk,每…

探讨奇技淫巧

2019独角兽企业重金招聘Python工程师标准>>> 探讨奇技淫巧 起源 在工程实践中,我们常常会遇到一些奇技淫巧。所谓奇技淫巧,就是官方在设计或者实践中并未想象出的代码风格或者使用场景。其实也就是类似于 react 的 hoc,本来源自于社区&#x…

悼念512汶川大地震遇难同胞——选拔志愿者【博奕】

悼念512汶川大地震遇难同胞——选拔志愿者 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11716 Accepted Submission(s): 7537 Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援…

mall整合SpringBoot+MyBatis搭建基本骨架

本文主要讲解mall整合SpringBootMyBatis搭建基本骨架,以商品品牌为例实现基本的CRUD操作及通过PageHelper实现分页查询。 mysql数据库环境搭建 下载并安装mysql5.7版本,下载地址:dev.mysql.com/downloads/i…设置数据库帐号密码:r…

Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)...

摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse、render、redirect) 一、Web框架概述: Python三大主流Web框架: Django:大而全,自带了很多功能模块,类似于航空母舰&am…

Bone Collector【01背包】

F - Bone Collector HDU - 2602 Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag wit…

Gamma阶段第八次scrum meeting

每日任务内容 队员昨日完成任务明日要完成的任务张圆宁#91 用户体验与优化https://github.com/rRetr0Git/rateMyCourse/issues/91(持续完成)#91 用户体验与优化https://github.com/rRetr0Git/rateMyCourse/issues/91牛宇航#86 重置密码的后端逻辑https:/…

【动态规划】多重背包

问题 Q: 【动态规划】多重背包 时间限制: 1 Sec 内存限制: 64 MB 提交: 112 解决: 49 [提交] [状态] [讨论版] [命题人:admin] 题目描述 张琪曼:“魔法石矿里每种魔法石的数量看起来是足够多,但其实每种魔法石的数量是有限的。” 李旭琳:…

【动态规划】完全背包问题

问题 O: 【动态规划】完全背包问题 时间限制: 1 Sec 内存限制: 64 MB 提交: 151 解决: 71 [提交] [状态] [讨论版] [命题人:admin] 题目描述 话说张琪曼和李旭琳又发现了一处魔法石矿(运气怎么这么好?各种嫉妒羡慕恨啊),她们有…

springboot超级详细的日志配置(基于logback)

前言 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。其中性能最高的应该使…

【动态规划】简单背包问题II

问题 J: 【动态规划】简单背包问题II 时间限制: 1 Sec 内存限制: 64 MB 提交: 127 解决: 76 [提交] [状态] [讨论版] [命题人:admin] 题目描述 张琪曼:“为什么背包一定要完全装满呢?尽可能多装不就行了吗?” 李旭琳:“你说得…

Vue组件通信

前言 Vue组件之间的通信 其实是一种非常常见的场景 不管是业务逻辑还是前段面试中都是非常频繁出现的 这篇文章将会逐一讲解各个传值的方式 不过在此之前 先来总结一下各个传值方式吧 1.父组件向子组件传值 > props2.子组件向父组件传值 > $emit3.平级组件传值 > 总线…