広告WHERE句で条件を指定する場合に、カラムの値と文字列の値をワイルドカードを使ったパターンマッチングする場合に使用するのがLIKE演算子です。pattern2つのワイルドカードを使った簡単なパターンマッチングを行います。カラムの値がマッチすれば1(=TRUE)を返します。それ以外は0を返します。LIKEの場合は、LIKEの結果を反転した結果(1なら0、0なら1)となります。カラムの値又はパターンがNULLの場合はNULLを返します。ワイルドカードとして使用できるのは次の2文字です。任意の1文字'_'は任意の1文字にマッチします。aで始まりbで終わる4文字の文字列'%'は0文字以上の任意の文字列にマッチします。次のように記述します。'%java%';上記では「name」カラムの値に'java'が含まれるデータを取得します。エスケープ処理ワイルドカード文字列を'%'や'_'という文字としてマッチさせたい場合には'¥'文字を使ってエスケープを行います。&yen;%&yen;_ワイルドカード文字列を'%'や'_'という文字としてマッチさせたい場合には'¥'文字を使ってエスケープを行います。'¥'はエスケープの為の文字として使用されるため、'¥'を文字としてマッチさせたい場合にもエスケープを行います。&yen;&yen;パターンをまずこのようにエスケープしたら、パターンは文字列として指定するため今度は文字列に対する必要なエスケープを行います。文字列に対するエスケープ処理は「文字列リテラル」を参照して下さい。文字としての'¥'にマッチさせるパターンは、まず'¥'をパターンとしてエスケープして'¥¥'とします。次に文字列としてエスケープするため'¥'一文字に付き'¥¥'とするため結果的に'¥¥¥¥'と記述することになります。パターンの方のエスケープする文字はデフォルトで'¥'ですが、ESCAPE句を使うと違う文字をエスケープ用文字として指定できます。'escape_char'例えば次のように記述します。'$';上記の場合は'_'をエスケープするのに'$'を使って'$_'と記述しています。文字列比較の時、デフォルトでは大文字と小文字を区別しません。区別を行いたい場合はBINARY演算子を指定します。pattern例えば次のように記述します。'Tokyo%';上記の場合は「address」カラムの値が'Tokyo'で始まっているデータにはマッチしますが'tokyo'で始まっている文字列にはマッチしません。サンプル実際に試してみます。次のようなテーブルを作成します。varchar(20));テーブルには次のようなデータを追加してあります。「hobbies」カラムに'Movie'が含まれるデータを取得します。'%Movie%';反対に「hobbies」カラムに'Movie'が含まれないデータを取得します。'%Movie%';なおデフォルトではパターンに'%Movie%'と指定すると大文字と小文字が区別されずにマッチします。その為'Movie'であっても'movie'であっても'MOVIE'であってもマッチします。BINARY演算子を使って大文字小文字を区別してマッチさせてみます。drive'にはマッチしませんでした。IKURA初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を多数行っています。