如何在mysql中的一组数据中使用like函数?

时间:2011-01-09 13:53:58

标签: mysql sql-like

有没有办法可以在一组数据中使用类似函数? 我试过了 select * from table1其中column1 like('%1%','%2%','%3%','%4%'); 但它不起作用。

我的场景有两个select语句,例如select * from class1,其中firstname(从class2中选择名字,其中firstname ='greg');

但是我没有让class1.firstname = class2.firstname,而是希望它是class1.firstname,如concat('%',class2.firstname,'%');

4 个答案:

答案 0 :(得分:1)

你可以“或”他们:

... WHERE (column1 like '%1%') OR (column1 like '%2%') OR ...

答案 1 :(得分:0)

喜欢拿一个参数

select * 
from table1 
where column1 like ('%1%'); 

如果您想检查多个,请使用ORUNION运算符

select * 
from table1 
where column1 like ('%1%')
or column1 like ('%2%'); 

答案 2 :(得分:0)

通常,当您有要比较的字符串列表时,您将使用IN函数。但是在这里你需要LIKEIN的组合,据我所知,SQL中没有这样做的功能,所以你需要使用OR运算符。

答案 3 :(得分:0)

您可以使用execute构建动态sql,但必须注意可能出现的安全性和性能问题。

另一个选择是使用regex