包含类似'%%'的内容(列名,'%%')

时间:2015-04-17 15:35:12

标签: sql-server

这是我的以下查询:

  select Top 100 * from TweetEntity where contains (HashTag,'')

我说错了。

 Null or empty full-text predicate.

然后我改变了我的疑问:

   select Top 100 * from TweetEntity where contains (HashTag,'%%'). I got no results.

我预计它会运行。 什么是(使用包含):

 select Top 100 * from TweetEntity where HashTag like '%%' ?

如何回复记录:

   select Top 100 * from TweetEntity where contains(HashTag,'gaza')

其中

  select Top 100 * from TweetEntity where contains(HashTag,'a') - this doesnot return any records.

2 个答案:

答案 0 :(得分:2)

Full text Search是执行Language Specific Search的功能。

搜索可以忽略数据中的文字字符串,并搜索特定于某种语言的语言中的特定单词(特定单词的折衷形式,同义词等)。

在您的查询中,您正在寻找字母“A",这不是一个英文单词,它是一个字母表,但它并不代表任何东西。它更像是一个字符串中的图案用于此目的您应该使用LIKE关键字以及通配符%,这将带回字符串值James W Brown

另一方面,如果您想使用FTS在数据库中找到所有可能的James,那么FTS可以很方便。通过在James上进行THESAURUS搜索,可以恢复Jim,Jimmy,Jimmie等,但是你必须再次编辑FDData下的XML文件以获得特定语言才能实现。

AThe等被视为干扰词,在FTS中被忽略。

答案 1 :(得分:1)

您永远无法搜索" a"。这将被包含在英语的默认停用词列表中以及其他常见的多余词汇中,例如"",""等等。如果您要搜索& #34;"你需要创建一个排除它的自定义停用词列表。