有没有办法可以在一组数据中使用类似函数? 我试过了 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,'%');
答案 0 :(得分:1)
你可以“或”他们:
... WHERE (column1 like '%1%') OR (column1 like '%2%') OR ...
答案 1 :(得分:0)
喜欢拿一个参数
select *
from table1
where column1 like ('%1%');
如果您想检查多个,请使用OR
或UNION
运算符
select *
from table1
where column1 like ('%1%')
or column1 like ('%2%');
答案 2 :(得分:0)
通常,当您有要比较的字符串列表时,您将使用IN
函数。但是在这里你需要LIKE
和IN
的组合,据我所知,SQL中没有这样做的功能,所以你需要使用OR
运算符。
答案 3 :(得分:0)
您可以使用execute构建动态sql,但必须注意可能出现的安全性和性能问题。
另一个选择是使用regex