0

我想用几个词机词或子词在 mysql 数据库中进行研究

例如,如果我搜索“ata”,我想获得“data”和“database”,如果我搜索“ata”和“get”,我想获得“database is getting”

目前我使用 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 的解决方案?

4

1 回答 1

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%'
于 2013-03-07T13:07:40.420 回答