只有CONTAINS,FREETEXT的具体单词?

时间:2011-02-24 15:48:16

标签: sql sql-server sql-server-2005

如何仅在全文索引字段中搜索特定字词?

我知道我可以做“where field ='word'”但我宁愿让搜索表格尽可能通用,并将搜索词投放到CONTAINS,FREETEXT函数。

似乎应该使用可以使用的单词边界或短语结束字符,但似乎没有。

我正在使用MS SQL Server 2005。

1 个答案:

答案 0 :(得分:0)

要使用Contains或FreeText,您必须在相关列上具有全文索引。假设您这样做,那么您可以通过用双引号括起来强制搜索特定单词:

Select ..
From Table
Where Contains( SomeCol, '"word"')

CONTAINS (Transact-SQL)

<强>更新

如果您要查找的内容仅为内容且完全是您的搜索字词,则唯一的方法是使用=Like而不使用通配符。即,没有办法使用全文搜索谓词搜索整个内容的精确匹配。因此,您必须使用:

Select ..
From Table
Where SomeCol = 'word'

Select ..
From Table
Where SomeCol Like 'word'