要在LIKE表达式中转义特殊字符,请在其前面加上转义字符。您可以选择与ESCAPE关键字一起使用的转义字符。(MSDN参考)
例如,使用作为转义字符,可以转义%符号:
select * from table where myfield like '%15% off%' ESCAPE ''
如果您不知道字符串中将包含哪些字符,并且不想将其视为通配符,则可以在所有通配符前面加上转义字符,例如:
set @myString = replace( replace( replace( replace( @myString , '', '\' ) , '%', '%' ) , '_', '_' ) , '[', '[' )
(请注意,您也必须转义转义字符,并确保这是内部字符,replace以免转义从其他replace语句添加的转义字符)。然后,您可以使用如下所示的内容:
select * from table where myfield like '%' + @myString + '%' ESCAPE ''
还要记住为@myString变量分配更多的空间,因为随着字符串替换它会变长。



