字符串“ Catch Fry's Low Impact”后面的引号引起来

时间:2019-02-03 08:31:16

标签: sql sql-server tsql

我需要匹配以单引号引起来的字符串。这是我的查询的样子:

select  Distinct(a.item) 
from [dbo].[Subscribtions] a
where a.Item like 'Catch Fry''s Low Impact''

但是它抛出了错误

  

字符串“ Catch Fry's Low Impact”后的右引号。

我不能使用like pattern matching%,有多个这样的字符串。由于某些数据原因,我只需要使用=

谢谢

1 个答案:

答案 0 :(得分:2)

查看您的查询

select  Distinct(a.item) 
from [dbo].[Subscribtions] a
where a.Item like 'Catch Fry''s Low Impact''

'的最后还有一个额外的'Catch Fry''s Low Impact'',而且在Distinct(a.item)中也不需要括号。

由于您从字面上寻找'Catch Fry''s Low Impact',因此

的结果
select  Distinct a.item 
from [dbo].[Subscribtions] a
where a.Item like 'Catch Fry''s Low Impact';

将与

相同
select  Distinct a.item 
from [dbo].[Subscribtions] a
where a.Item = 'Catch Fry''s Low Impact';

所以,我认为您只是在寻找

select  Distinct a.item 
from [dbo].[Subscribtions] a
where a.Item = 'Catch Fry''s Low Impact';

除非使用通配符匹配,否则使用 LIKE 操作符没有任何好处。