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