使用%是IN条件

时间:2013-07-24 06:10:14

标签: sql oracle plsql sql-in

通常当一个人必须在oracle中搜索一个你不知道我们使用的确切条件的情况时:

Select * from Table where column like '%Val%'

如果我必须检查多个条件,我们使用IN

Select * from Table where column in ('Value1','ABC2')

我们如何将两者结合起来?即,当不知道确切的值时,在DB中搜索一堆值 下面的代码没有给出所需的结果,因为它将整体视为一个字符串。

Select * from Table where column in ('%Val%','%AB%')

3 个答案:

答案 0 :(得分:2)

Select * from Table where column like  '%Val%' or column like '%AB%';

答案 1 :(得分:2)

Select * from Table where column like '%Val%' or column like '%AB%'.....

我知道写它有点难,你可以创建一个垂直列表并分别用'%和%'来改变\ n和\ r \ n。

答案 2 :(得分:0)

SELECT * FROM Table
WHERE instr(column, 'Val', 1) > 0 or instr(column, 'AB', 1) > 0

或:

SELECT * FROM Table
WHERE contains(column, 'Val', 1) > 0 or contains(column, 'AB', 1) > 0