oracle 中查询的模糊匹配

Posted

tags:

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

现在有一个表A如下
id value_a
1 1000
2 1001
3 1002
select value_a from A返回3条记录

现在有表B如下:
id value_B
1 10001
2 10011
3 20003
我想通过子查询 查询类似 select * from B where B.value_B like '1000%' or B.value_B like '1001%' 的结果

但select * from B where B.value_B in (select value_a from A)或者
select * from B where B.value_B like (select value_a from A)这样是不行的,
有什么方法可以得出我想要的查询?

select * from B where left(B.value_B,4) in (select value_a from A) 参考技术A select b.value ,a.value from b left join a on (b.value like '%' || a.value '%' || ) 参考技术B SELECT B.*
FROM B
INNER JOIN A
ON LEFT(B.value_B,4) = A.value_a

求助oracle like%.%模糊查询优化

参考技术A 这种一般从业务逻辑上面优化比较好,比如把字段切割开开存,把模糊匹配变成精确匹配。 参考技术B 将%.%改为用instr函数实现。 参考技术C 建立查询字段的索引

以上是关于oracle 中查询的模糊匹配的主要内容,如果未能解决你的问题,请参考以下文章

数据库SQL模糊匹配查询

ORACLE多表模糊查询问题

求助oracle like%.%模糊查询优化

oracle sql语言模糊查询

oracle两表中的两列进行模糊匹配的方法

java 用字符串模糊匹配另一个字符串