2013-07-24 61 views
1

通常,当一个人在甲骨文寻找一个where条件,你不知道我们使用的确切条件:使用%在状态

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%') 

回答

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

我知道它一点很难写,你可以分别创建一个垂直列表和变化\ n和\ r由 '%和%'。

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 
+0

CONTAINS是Oracle Text的运营商,并在列与适当的指数才起作用。 – APC