LIKE句とは
□ 「任意の文字列を含む」データを取得する場合に用いるものです。
ここでは仮に、任意の文字列を「ひよこ」とします。
▼ LIKE句の基本的な書き方
WHERE カラム名 LIKE '%ひよこ%'
LIKEの後の文字列を含むレコードのみを返すことができます。
上記のように%で文字列を囲む場合は、ひよこという文字が含まれるレコード「全て」が対象です。
例)ひよこ饅頭、カラーひよこ、可愛いひよこのお世話
▼ 前方一致
WHERE カラム名 LIKE 'ひよこ%'
%が後ろにだけある場合、「文頭に」ひよこがあるレコードのみを返します。
例)ひよこ饅頭、ひよこのお世話
▼ 後方一致
WHERE カラム名 LIKE '%ひよこ'
%が前にだけある場合、「文末に」ひよこがあるレコードのみを返します。
例)カラーひよこ、可愛いひよこ
ワイルドカード
LIKE句では「%」や「_」を使用します。
上記の例では「%」の方を使っていましたね。
「%」と「_」は以下のような違いがあります。
% ・・・ 0文字以上の任意の文字列
_ ・・・ 任意の1文字
エスケープ
LIKE句で「%」や「_」を検索することは出来ません。
ワイルドカードとして使用しているため、文字列扱いされないためです。
これらを含む文字列を検索する場合は、エスケープキーワードを使いましょう。
▼ エスケープ処理の例
WHERE カラム名 LIKE '果汁100?%' ESCAPE '?'
「ESCSPE」の後に指定した値を「%」の前につけることで、「%」を検索文字列として認識させることが出来ます。ここではエスケープ記号として「?」を指定しましたが、この記号は任意のものを指定することが可能です。