0

REGEXP を使用して同じフィールドを複数の値で検索したい。出来ますか?

SELECT 
  * 
FROM
  posts 
WHERE keyword LIKE '%ipad%' 
  AND keyword LIKE '%iphone%' 
  AND keyword LIKE '%nokia%' ;

このクエリはORに使用され、AND条件に変換したい

SELECT * FROM posts WHERE keyword REGEXP 'ipad|iphone|nokia';
4

1 に答える 1

0

keywordフィールドに複数の値 (デバイス) を含めることができますか? のようにipad;iphone;nokia

もしそうなら、これは悪い習慣です。これは第 1 正規形に違反しており、不適切なテーブル設計の兆候です。それでも、複数のLIKEandAND句を使用した方法は機能するはずです。

これを MySQL で REGEXP 構文に変換するのは簡単ではなく、問題を起こす価値はまったくありません。詳細については、この投稿を参照してください。

于 2013-08-19T11:54:36.977 に答える