JIAジミー:
表があります言うuser
以下の通り:
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| name | char(64) | NO | | NULL | |
| img_hash | varchar(32) | NO | | | |
+----------+------------------+------+-----+---------+----------------+
そして私は、フィールド名のあいまい一致を作りたい、とのように試合を保留リスト内に複数の名前があります。
["name1", "name2", "name3", ...]
私はやってトリングです。
select
id, name, img_hash
from
user
where name like "%name1%"
or name like "%name2%"
or name like "%name3%"
...
そこより良い方法は、この問題でのファジー・マッチング作業を行う場合は?
ありがとうございました。
アルンPalanisamy:
あなたが試すことができます REGEXP
SELECT ID, NAME, IMG_HASH FROM USER
WHERE NAME REGEXP 'name1|name2|name3'
もっと簡単なバージョンは、以下のようなものになるだろう。あなたは、直接内部名をコピー&ペーストすることができますCONCAT_WS
SELECT ID, NAME, IMG_HASH FROM USER
WHERE NAME REGEXP CONCAT_WS("|","name1", "name2","name3");
これは使用するより遅くなる場合がありますのでご注意ください LIKE