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