oracle 两表中两列模糊查询,具体例子如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 两表中两列模糊查询,具体例子如下:相关的知识,希望对你有一定的参考价值。

A表addr列中有字符串“国强路9号星辰电子”;B表key列中有字符串“星辰电子;公司;厂”。如何将两表用ORACLE语句进行模糊匹配?

创建表插入数据:

create table a
(addr varchar2(100));

insert into a values (\'国强路9号星辰电子\');

create table b
(key varchar2(100));

insert into b values (\'星辰电子;公司;厂\');
commit;

执行:

select a.addr,t.key from a,
(select t1.key,
REGEXP_SUBSTR(t1.key ,\'[^;]+\',1,l)
rolecode
from (
select key from b
) t1,
(SELECT LEVEL l FROM DUAL CONNECT BY LEVEL<=100) b
WHERE l <=LENGTH(t1.key) - LENGTH(REPLACE(t1.key,\';\'))+1) t
where instr(a.addr,t.rolecode)>1;

结果:

追问

真的是大神,帮我解决了难题。不过,还想问大神一个简单的问题,
最后一句instr(a.addr,t.rolecode)>1表示匹配上的,那如果想要匹配不上的应该怎么改?

参考技术A 两个表不是没有任何关联的情况下可以用吗

以上是关于oracle 两表中两列模糊查询,具体例子如下:的主要内容,如果未能解决你的问题,请参考以下文章

SQL两表模糊匹配查询

oracle中两张表中的两个字段值的模糊比对

mysql互换表中两列数据

mysql互换表中两列数据

sql server 中有一张表,我想把表中两列的数据合并后插入本表中另一列!请问怎么实现

sql查询两表中不重复记录