加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle数据库模糊查询匹配多个字符串

发布时间:2020-12-12 13:41:01 所属栏目:百科 来源:网络整理
导读:一、查询包含某些字段的记录(包含其中一个就符合): 对需要匹配的字符串建一个表 KEY_TABLE ID KEYWORD TYPE 1 字符串1 1 2 字符串2 1 3 字符串3 1 SELECT * FROM MAIN_TABLE mt,KEY_TABLE s WHERE mt. matching LIKE ‘%‘||s.keyword||‘%‘ (or) 二、
ID KEYWORD TYPE 1 字符串1 1 2 字符串2 1 3 字符串3 1

SELECT * FROM MAIN_TABLE mt,KEY_TABLE s
WHERE mt.matching LIKE ‘%‘||s.keyword||‘%‘ (or)

二、 查询不包含这些字段的记录:

1、SELECT * FROM MAIN_TABLE mt?
WHERE ?not?regexp_like (mt.matching,‘字符串1|字符串2|字符串3‘);

(也可以利用列转行函数:

SELECT * FROM MAIN_TABLE mt ,(SELECT t.type,listagg(t.keyword,‘|‘) WITHIN GROUP(ORDER BY t.type) AS allkey
FROM?KEY_TABLE?t?GROUP BY t.type
) kt

WHERE??not?regexp_like (mt.matching,kt.keyword)? and kt.type=1;

2、SELECT * FROM MAIN_TABLE mt?
WHERE mt.matching??not?like ‘%字符串1%‘ and??mt.matching??not?like ‘%字符串2%‘? and?mt.matching??not?like ‘%字符串3%‘; (效率比较高)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

一、查询包含某些字段的记录(包含其中一个就符合):

对需要匹配的字符串建一个表 KEY_TABLE

    推荐文章
      热点阅读