首页 > 解决方案 > 包含在 Oracle 11.2 中

问题描述

是否可以使用类似于CONTAINS新 Oracle 的功能?我有 11.2 并且想做这样的事情:

select * from cars
inner join customers on customers.as_id = cars.as_id
where cars.type like 'AUDI' and contains(request, customers.name, 1) > 0;

所以据我所知,我不能LIKE在这里使用,因为customers.name它不是固定值。有没有办法为旧的 Oracle 找到一些解决方法?

标签: sqloracleoracle-text

解决方案


您可以LIKE按如下方式使用:

select * 
  from cars
 inner join customers on customers.as_id = cars.as_id
 where cars.type = 'AUDI' -- You can use = here
   and request like '%' || customers.name || '%';

注意: contains子句用于在 Oracle Text 索引中查找特定字符串。它不能应用于普通列。


推荐阅读