LIKE句
SQLのLIKE句について調べました。
LIKE句とは
完全一致だけでなく部分一致、前方一致、後方一致など曖昧な条件を指定できる構文です。
前提
以下のようなeventsテーブルがあるとします。
完全一致検索
LIKE '検索文字' で、完全一致する文字列を検索することができます。
SELECT * FROM events WHERE name LIKE 'Whistler';
曖昧検索
LIKE句にワイルドカードを組み合わせることで曖昧検索することができます。
ワイルドカード
- %
「%」は0文字以上の任意の文字列を意味します
- _
「_」は任意の1文字を意味します
部分一致
SELECT * FROM events WHERE name LIKE '%e%';
nameにeが含まれるものが取得されます。
前方一致
SELECT * FROM events WHERE name LIKE 'B%';
nameの1文字目がBであるものが取得されます。
後方一致
SELECT * FROM events WHERE name LIKE '%er';
nameの最後の2文字がerであるものが取得されます。
文字数指定
SELECT * FROM events WHERE name LIKE '_owser';
nameが "任意の1文字 + owse"であるものが取得されます。
感想その他
「%」や「_」をワイルドカードとしてではなく文字列として検索したいときに使用するエスケープ文字については後日調べたいと思います。