2011-11-13 19 views
2

は、私はまた、同じクエリ結果の範囲内のものでLIKE('%text2%')?追加するには、これを拡張するにはどうすればよいMySQLの全文検索や構文

SELECT * FROM hnurl WHERE title LIKE('%text1%') 

がありますか?

+2

あなたの必要性によって異なります。それはANDとすることができ、ORとすることができます。 –

答えて

3

あなたが試してみました:

SELECT * FROM hnurl WHERE title LIKE '%text1%' OR title LIKE '%text2%'; 
+0

私は||を使用しようとしていました、ありがとう! – David19801

+0

@ David19801:MySQLでは '||'も動作します。以下のドキュメントを参照してください。http://dev.mysql.com/doc/refman/5.0/en/logical-operators.html#operator_or問題は他のものでなければなりません。 –

2

を使用ORあなたはいずれかまたは両方文字列が見つかった行をしたい場合:あなたは両方文字列がある行をしたい場合

SELECT * FROM hnurl 
WHERE title LIKE '%text1%' 
OR title LIKE '%text2%' 

使用ANDを見つかった:

SELECT * FROM hnurl 
WHERE title LIKE '%text1%' 
AND title LIKE '%text2%' 

Sidenote:クエリのパフォーマンスを向上させるために、full-text searchまたは外部テキスト検索エンジンの使用を検討することもできます。

+0

外部エンジンを使用するには、データベース全体を配置する必要がありますか?私がここでやっていること以上にフルテキスト検索の利点は何ですか? – David19801

+0

@ David19801:メリット?それはより速いです。はるかに速く –

0

を追加することができます。

SELECT * FROM hnurl 
WHERE title REGEXP 'text(1|2)' 

バリエーションも可能。