oracle pl/sql 查询遇到ora-01722 无效数字
A表患者信息表,B表患者就诊记录表
其中A表的身份证字段id_no为varchar(50)
B表的身份证字段为id_no为varchar(20)
select
A.NAME,
A.id_no
from A
left join B
A.id=B.id
大概的语句如上,A表和B表关联,没用身份证号去关联,但是我想取A表的id_no就提示无效数字,同样的还有其他几个字段也是。比较奇怪就是没有用id_no做关联,而且我字段也是去表的一个字段,就报错
ab两个表的id字段类型不一致导致的吧
可以参考下这个 oracle字符串查询不加单引号报错 ORA-01722:无效数字 https://blog.csdn.net/jungeCSND/article/details/121692535?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22121692535%22%2C%22source%22%3A%22jungeCSND%22%7D
把两个表的表结构都贴出来看下
这个报错的确如上面这位所说,是由于两个表的id字段类型不一致导致的,比如有一个id是数字类型,另一个id是字符类型,然后在字符类型的这个id列中,存在有值无法转换成数字,比如带了空格、符号、字母等,就会报这个错
应该大概不会是少写了一个On的原因吧