式で安全に使用できるように、SQL Server のストアド プロシージャで文字列をエスケープするにはどうすればよいですかLIKE
。
NVARCHAR
次のような変数があるとします。
declare @myString NVARCHAR(100);
そして、私はそれを式で使用したいLIKE
:
... WHERE ... LIKE '%' + @myString + '%';
この方法で安全に使用できるように、T-SQL で文字列 (より具体的には、LIKE
パターン マッチングにとって意味のある文字、たとえば%
や)をエスケープするにはどうすればよいですか??
たとえば、次のようになります。
@myString = 'aa%bb'
私が欲しい:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
に一致'aa%bb'
しますが、 orには一致し'caa%bbc'
ません。'aaxbb'
'caaxbb'