以前に導入されたすべての演算子は既知の値でフィルタリングされますが、このフィルタリング方法は常に役立つとは限りません。ワイルドカードを使用して特別なデータの検索パターンを作成する
ワイルドカード:値の一部を照合するために使用される特殊文字。ワイルドカードを使用するには、LIKE演算子を使用する必要があります
検索モード:リテラル値、ワイルドカード、または両方の組み合わせで構成される検索条件
- %ワイルドカード(最も一般的に使用されるワイルドカードはパーセント記号%です。検索文字列では、%は任意の文字が何度も出現することを意味します)
- たとえば、名前フィールドを取得するには、smallで始まる単語
SELECT * FROM user WHERE name LIKE '小%'
- ワイルドカードは、検索パターンの任意の場所で使用できます。以下は、パターンの両端にある2つのワイルドカードです。
- %は0個以上の文字に一致することに注意してください
SELECT * FROM user WHERE name LIKE '%飞%'
- _ワイルドカード(アンダースコア_ワイルドカードは%と同じですが、複数ではなく1文字にのみ一致します)
SELECT * FROM user WHERE name LIKE '小_'
要約:
- MYSQLワイルドカードは便利ですが、この機能は高くつき、ワイルドカードの検索効率は他の検索よりも時間がかかります。
- ワイルドカードの位置に注意してください。誤って配置すると、目的のデータが返されない場合があります
- 末尾のスペースはワイルドカードマッチングを妨げる可能性があります。たとえば、フライ後にスペースが1つ以上ある場合、%flyはそれらにマッチしません。この問題を解決するには、%fly%を使用してマッチングするか、関数を使用して最初と最後のスペースを削除します
- NULLはワイルドカードと照合できません