0

innodb エンジンを使用して mysql で特定の単語を検索する方法を探しています。次の例を検討してください。

Text:
1.Card has two sides.
2.This is my card.
3.We have a car.
4.Car has good color.
5.This was my car.
6.The car is nice.

これらの点が異なる行であり、同じ列「テキスト」の下にあるとします。「car」という単語が最初、途中、最後にあるかどうかに関係なく、「like」を使用して「car」という単語を正確に含む行を抽出するクエリが必要です。「カード」は必須ではないことに注意してください。

4

3 に答える 3

2

これを使って

SELECT * FROM table WHERE name LIKE '%car' or name LIKE '%car %';
于 2013-03-21T08:14:19.553 に答える
1

ここにあります..

SELECT * FROM table WHERE name LIKE '% car' or name LIKE 'car %' or name LIKE '% car %' or name like '% car.';

開始単語の最後の単語と単語間の単語の両方を選択します

于 2013-03-21T13:03:28.577 に答える
0

「車」を含めて「カード」を除外したい場合は、検索できます

SELECT Text FROM Table WHERE Text LIKE '% Car.%' or Text LIKE '% Car %';

そのためには、常に「。」が必要です。最終的には。あなたは別のものを追加することができます

or Text LIKE '% Car';

これについてよくわからない場合。

これがさらに複雑になる場合は、正規表現を調べることをお勧めします。多くの場合遅くなりますが、LIKE ...OR...式が複雑になりすぎると速くなります。状況に最適なものを見つけるために、ベンチマークを実行する必要がある場合があります。

于 2013-03-21T08:11:15.577 に答える