如果在字符串中的任何位置搜索字符,则全文搜索不起作用

时间:2014-04-28 13:58:30

标签: sql-server-2008 full-text-search

我在ClientReference列上创建了一个全文搜索索引,但如果我想搜索出现在字符串中任何位置的字符,它就不起作用。

String =' abcdef'

这不会起作用;

SELECT * FROM Proposals 
WHERE CONTAINS([ClientReference], '"*bc*"')

但如果我使用前缀,它会起作用。

SELECT * FROM Proposals 
WHERE CONTAINS([ClientReference], '"a*"')

enter image description here

enter image description here

ADDED

有人刚刚提到过"这是不可能的,你只能根据单词进行搜索,而不能根据单词中的字母进行搜索。"

那么为什么以下工作和寻找' 223'字符串中的任何位置?

 select ClientReference1 from ClientReferences 
 where CONTAINS([ClientReference1], '"*223*"') 

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您没有大量文字和/或大量行(数百万+),那么只使用LIKE而不是CONTAINS可能会更好。

SELECT * FROM Proposals  WHERE ClientReference LIKE '%re%'