LoginSignup
1
0

SQLのLIKE句でワイルドカードを文字列として検索をする

Posted at

SQLでLIKE句の検索文字として「30%」などワイルドカード文字が含まれてる場合、%が検索文字列として認識されなかったため、文字列として検索するためにはどうしたらよいか調べた結果を備忘録として書きたいと思います。

参考

【参考URL】LIKE (Transact-SQL)
https://learn.microsoft.com/ja-jp/sql/t-sql/language-elements/like-transact-sql?view=sql-server-ver16

【SQL】LIKE句
https://qiita.com/chihiro/items/46da8571d4cf37d3123c

目次

 ワイルドカード
 エスケープ処理

ワイルドカード

パターンマッチングに使用される特殊な文字または文字列のこと

文字 概要
%(パーセント記号) 0 個以上の文字で構成される任意の文字列
_(アンダースコア) 任意の 1 文字
[ ] [](かっこ)のなかで指定した任意の1文字
[^ ] [](かっこ)のなかで指定した以外の任意の1文字

エスケープ処理

ワイルドカードに使われる文字を検索文字として変換する処理
[\(バックスラッシュ)]が使われる

例えば、以下のLIKE句で検索すると「30%」の前方一致として検索することができる
LIKE '30\%%'

また、ESCAPE句を使うことで「\」以外にもエスケース処理の文字として指定することができる
LIKE '30!%%' ESCAPE '!'

ワイルドカードとの組み合わせ
LIKE '30[%]%'

1
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
1
0