読者です 読者をやめる 読者になる 読者になる

LIKE でワイルドカード文字をエスケープ

SQL Server Advent Calendar 15日目 です。

今日は、LIKE のワイルドカード文字のエスケープについてです。
LIKE (Transact-SQL)
[] で囲むことによってエスケープ出来ます。
例:備考に 30% という文字を含むデータを検索する。

select * 
from [受注] 
where [備考] like '%30[%]%'

ESCAPE を使ってエスケープ文字を明示的に指定する事も出来ます。

select * 
from [受注] 
where [備考] like '%30$%%' escape '$'

[] は、エスケープ以外の用途でも使います。
例:備考に数字が含まれているデータを検索する。 

select * 
from [受注] 
where [備考] like '%[0-9]%' escape '$'