如何转义 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'不匹配。