繁体   English   中英

SQL Server中的ESCAPE序列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM