How to implement fuzzy search in MySQL? MySQLでの曖昧な検索の実装方法は?
MySQLでは、部分一致検索を実現するためにLIKE演算子を使用することができます。LIKE演算子は、特定のパターンを列内で検索するためにWHERE句内で使用されます。パターンには、%や_などのワイルドカードを含めることができます。
特定の文字列を含む行を検索するには、次の構文を使用できます:
SELECT * FROM table_name WHERE column_name LIKE '%keyword%';
上記の文で、table_nameは検索されるテーブル名、column_nameは検索される列名、keywordは検索するキーワードを表します。%ワイルドカードは0文字以上の任意の文字列を示し、したがって、上記のクエリはkeyword文字列を含むすべての行を返します。
他にも、特定の文字列で始まる行や終わる行を検索したい場合は、次の構文を使用できます:
SELECT * FROM table_name WHERE column_name LIKE 'keyword%'; -- 匹配以'keyword'开头的行
SELECT * FROM table_name WHERE column_name LIKE '%keyword'; -- 匹配以'keyword'结尾的行
アスタリスク(%)以外にも、アンダーバー(_)は1文字のみを表し、1文字をマッチングするために使用できます。
要简单来说,用LIKE操作符搭配通配符可以实现多样的模糊搜索功能。