我可以在"IN"MySQL语句中使用通配符吗?

ser*_*erg 13 mysql sql wildcard

我想运行类似的东西:

select * from table where field in ("%apple%", "%orange%")
Run Code Online (Sandbox Code Playgroud)

有办法吗?或者至少有一种比为每个关键字动态构建查询更好的方法:

select * from table where field like "%apple%" or field like "%orange%"
Run Code Online (Sandbox Code Playgroud)

谢谢.

Asa*_*aph 14

我不确定它比你提出的要好,但你可以使用MySQL的正则表达式功能:

select * from my_table where field rlike 'apple|orange';
Run Code Online (Sandbox Code Playgroud)

此外,正如其他人所提到的,您可以使用MySQL的全文搜索功能(但仅在您使用MyISAM引擎时).