我要求我必须使用SQL Server 2008 R2中的like
运算符搜索特殊字符。
前:
Name = sk'saintho
select * from table1 where name like 'sk'saintho'
对于上述情况,我收到错误
'saintho'附近的语法不正确。
字符串''后面的未闭合引号。
对此问题的想法将不胜感激。
答案 0 :(得分:1)
如果您正在使用SQL Server Management Studio,您应该会看到语法格式显示您的查询有问题。
select * from table1 where name like 'sk'saintho'
sk
组件为红色,为文字字符串,saintho
为常规黑色文字。 SQL不理解'
字符是字符串的一部分,而是假设这是字符串的结尾。
与许多其他语言一样,在字符串中包含字符串终止符号的正确方法是将其包含两次。使用它两次告诉解析器你想在字符串中包含'
而不是结束字符串。
select * from table1 where name like 'sk''saintho'
如果要查找具有'
字符的所有现有项目,可以在like
语句中使用相同的模式
select * from table1 where name like '%''%'
解析器会将其解释为like %'%
,您会发现名称中包含'
的所有行。