k01ken’s b10g

He110 W0r1d!

MySQLのLIKE句

・開発環境はWindows 7 Professional(32bit)+10.1.25(MariaDB)。

articleテーブルのtextフィールドにbasketballという値が入っていた場合、

select * from article where text like 'basket'; # 表示されない
select * from article where text like 'basket%'; # 表示される
select * from article where text like 'sket%'; # 表示されない
select * from article where text like '%sket%'; # 表示される
select * from article where text like '%ball'; # 表示される

大文字小文字の区別

like binary 'pattern';

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

検索文字列に、%や_や\を用いたい場合
\%,\_,\\

\以外の任意の文字でエスケープ

like 'pattern$_' escape '$';

特定の文字を含まない場合
・articleテーブルのあるtextフィールドにbasketballという値が入っていた場合、

select * from article where text not like 'pattern';
select * from article where text not like 'basket'; # basket以外が表示される。likeとは違う。

参考リンク
[初心者向け]MySQLで特定のキーワードを含むデータを取得する方法~like検索の使い方 | Web活メモ帳
パターンマッチングで比較(LIKE演算子) - データの取得 - MySQLの使い方