我必须在我的表上执行where by子句才能在我的表中找到确切的字符串匹配 它在以下场景中正常工作
declare @issuerName varchar(max)
set @issuerName = 'WIDEOPENWEST FINANCE, LLC'
select *
from company
where ParentName = @issuerName
但未能通过以下查询
declare @issuerName varchar(max)
set @issuerName = 'TOYS 'R' US, INC'
select *
from company
where ParentName = @issuerName
因为单引号。
有人能让我知道解决它的最佳方法是什么,因为单引号可以出现在字符串中的任何位置?我尝试在这个变量周围添加单引号,但它不起作用。
set @issuerName = ''TOYS 'R' US, INC''
答案 0 :(得分:5)
你这样做:
set @issuerName = 'TOYS ''R'' US, INC'
将转义的'
放入字符串本身。
此外,如果您需要使用LIKE
子句更改转义字符,则可能需要查看ESCAPE
关键字,该关键字可让您更改用于当前查询的字符。请参阅Using [] and ESCAPE clause in SQL Server LIKE query。