0

いくつかの単語のマッチング単語またはサブ単語を使用して、mysqlデータベースで調査を行いたい

たとえば、「ata」を検索した場合は「data」と「database」を取得したい「ata」と「get」を検索した場合は「databaseisgeting」を取得したい

今のところ、私は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%"

または、一致の順序が気になる場合は、それらを 1 つの式に結合できます。

select col
from mytable
where col like '%ata%get%'
于 2013-03-07T13:07:40.420 に答える