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 '$'