寻找「&&引用;SQL SERVER中使用like语句和通配符的字符

寻找「&&引用;SQL SERVER中使用like语句和通配符的字符,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我需要在字符串中找到“&” SELECT * FROM TABLE WHERE FIELD LIKE ..&... 我们尝试过的事情: SELECT * FROM TABLE WHERE FIELD LIKE '&&&' SELECT * FROM TABLE WHERE FIELD LIKE '&\&&' SELECT * FROM TABLE WHERE FIELD LIKE '&|&&' escape '|'

我需要在字符串中找到“&”

SELECT * FROM TABLE WHERE FIELD LIKE ..&...
我们尝试过的事情:

SELECT * FROM TABLE WHERE FIELD LIKE '&&&'
SELECT * FROM TABLE WHERE FIELD LIKE '&\&&'
SELECT * FROM TABLE WHERE FIELD LIKE '&|&&' escape '|'
SELECT * FROM TABLE WHERE FIELD LIKE '&[&]&'
所有这些都不会在
SQLServer
中给出任何结果。 有些人给出所有行,有些人不给出任何行

类似的问题不起作用或不够具体

一些旧的参考服务器2000


&
不是中的通配符,因此不需要转义

在要查找的值周围使用
%

SELECT * FROM TABLE WHERE FIELD LIKE '%&%'

您的语句不包含通配符,因此相当于
WHERE FIELD='&'

&
在SQL中不是特殊字符,因此不需要对其进行转义。只要写

WHERE FIELD LIKE '%&%'
搜索字段中某处包含
的条目

但请注意,这将导致完全表扫描,因为服务器无法使用任何索引。如果您键入了像“&%”这样的
WHERE字段
,服务器可以进行范围搜索以查找所有以
&
开头的条目


如果您有大量的数据并且不能添加更多的约束,您应该考虑使用SQLServer的全文搜索来创建和使用FTS索引,使用类似或

的谓词,您尝试过:<代码> >选择>从表中,字段类似“%&%”< /代码>您的语句不包含通配符,因此相当于
其中FIELD='&'
<代码>&
不是通配符,也不需要转义。哈哈哈,好吧,我猜是星期一早上,星期四。谢谢你的详细答案!我想这更像是个人问题。