[英]ESCAPE SEQUENCE IN SQL SERVER
我必须在表上执行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''
您可以这样做:
set @issuerName = 'TOYS ''R'' US, INC'
将转义的'
放在字符串本身中。
此外,如果您需要LIKE
子句一样更改转义字符,则可能需要签出ESCAPE
关键字,该关键字使您可以更改用于当前查询的字符。 请参阅SQL Server LIKE查询中的Using []和ESCAPE子句 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.