から単語を一致させるためにMySQLでREGEXPを使用します。は、どのように私のようなMySQLのクエリを持っているテキスト
テキストからのいずれかの単語を含むレコードを取得したいとします。c cu cus cust usto stom tom om m
私は、クエリの下に試してみました:私は7、レコードが、これらの7つのレコードを返すクエリの上
SELECT name FROM table_name WHERE name like '%custom%' OR name REGEXP 'c|cu|cus|cust|usto|stom|tom|om|m' limit 10
は、第一クエリ結果が持っている、このような2つのレコードを持っていません。
どうすれば入手できますか?または、mysqlでこれらの結果を得る他の方法は?
EDIT:ここでも、2番目のクエリで最大部分文字列の一致を指定して注文したいと考えています。 REGEXP
とLIKE
の必要はありません
SELECT name FROM table_name WHERE name REGEXP 'custom' limit 10;
が、LIKEより遅いREGEXP
です:
クエリに問題はありません。両方のクエリの出力をここに貼り付けることができます。 –
'c'を単語と見なしますか? – revo
はい、私の質問は、どのような結果を得たいかの例です。ウェブサービスで 'custom'を動的に取得し、正確なキーワードとその部分文字列に一致するレコードを返します(これはキーワードのスペルが間違っている場合です)。 –