Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
SQL の LIKE 検索では、0文字以上の任意の文字列を % (パーセント)で表現する。
ちなみに任意の1文字は _ (アンダースコア)。
そのため、% を含む文字列の LIKE 検索は工夫する必要がある。
例えば、%0D%0A を含む文字列があるかどうか検索したい場合
select * from tablename where body like '%#%0D#%0A%' escape '#'
のように、# をエスケープ文字として宣言して、本来 % と認識させたい箇所の前に # を入れる。
エスケープ文字は # に限らず指定可能。ただし、検索対象カラム中にエスケープ文字が存在しないことが条件となる。
※ちなみに、エスケープ文字を明示的に宣言しないときは \ (バックスラッシュ) がエスケープ文字になる。
なお、' (シングルクォート)を含む文字列は
select * from tablename where body = 'I''m happy';
のように ' (シングルクォート) を続けて記述する