我想在mysql数据库中进行一项研究,其中包含几个单词加工词OR子词
例如,如果我搜索“ata”,我想获取“数据”和“数据库” 如果我搜索“ata”和“get”,我想获得“数据库正在获取”
目前我使用2次LIKE功能:
SELECT col FROM mytable WHERE col LIKE "%ata%"
然后
SELECT col FROM mytable WHERE col LIKE "%get%"
如果有效,但我认为有更有效的方法。
我试过了:
SELECT col FROM mytable WHERE MATCH (col) AGAINST (concat('%','ata get','%') IN BOOLEAN MODE)
但它不起作用。
如果有解决方案使用MACH AGAINST?
答案 0 :(得分:1)
为什么不在原始查询中使用and
?
SELECT col
FROM mytable
WHERE col LIKE "%ata%" and col like col LIKE "%get%"
或者,如果你关心匹配的顺序,你可以将它们组合成一个表达式:
select col
from mytable
where col like '%ata%get%'