簡體   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