LoginSignup
0
0

More than 3 years have passed since last update.

LIKE句忘備録(ワイルドカード、エスケープ)

Posted at

LIKE句とは

□ 「任意の文字列を含む」データを取得する場合に用いるものです。
  ここでは仮に、任意の文字列を「ひよこ」とします。

▼ LIKE句の基本的な書き方

WHERE カラム名 LIKE '%ひよこ%'

LIKEの後の文字列を含むレコードのみを返すことができます。
上記のように%で文字列を囲む場合は、ひよこという文字が含まれるレコード「全て」が対象です。
例)ひよこ饅頭、カラーひよこ、可愛いひよこのお世話

▼ 前方一致

WHERE カラム名 LIKE 'ひよこ%'

%が後ろにだけある場合、「文頭に」ひよこがあるレコードのみを返します。
例)ひよこ饅頭、ひよこのお世話

▼ 後方一致

WHERE カラム名 LIKE '%ひよこ'

%が前にだけある場合、「文末に」ひよこがあるレコードのみを返します。
例)カラーひよこ、可愛いひよこ

ワイルドカード

LIKE句では「%」や「_」を使用します。
上記の例では「%」の方を使っていましたね。

「%」と「_」は以下のような違いがあります。

   % ・・・ 0文字以上の任意の文字列
   _ ・・・ 任意の1文字
  

エスケープ

LIKE句で「%」や「_」を検索することは出来ません。
ワイルドカードとして使用しているため、文字列扱いされないためです。

これらを含む文字列を検索する場合は、エスケープキーワードを使いましょう。
▼ エスケープ処理の例

WHERE カラム名 LIKE '果汁100?%' ESCAPE '?'

「ESCSPE」の後に指定した値を「%」の前につけることで、「%」を検索文字列として認識させることが出来ます。ここではエスケープ記号として「?」を指定しましたが、この記号は任意のものを指定することが可能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0