如何在SQL Server的存储过程中转义字符串,以便可以在LIKE
表达式中安全使用。
假设我有一个NVARCHAR
像这样的变量:
declare @myString NVARCHAR(100);
我想在LIKE
表达式中使用它:
... WHERE ... LIKE '%' + @myString + '%';
如何转义字符串(更具体地说,是对LIKE
模式匹配有意义的字符,例如%
?
在T-SQL中或),以便可以安全地以这种方式使用?
例如,给定:
@myString = 'aa%bb'
我想要:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
匹配'aa%bb'
,'caa%bbc'
但没有'aaxbb'
或'caaxbb'
。