喜欢sql freetext搜索

时间:2011-11-14 21:08:44

标签: sql sql-server-2005

也许这是一个愚蠢的问题。

如何使用自由文本在sql“中实现'%'%'?

我认为包含和自由文本相当于“喜欢'%test%',加上一次获取的语法检查和性能。

就我而言,我有:

select * from ServiceOfferResultIndexed where contains(FirstName,'test') 

给了我18

rows.select * from ServiceOfferResultIndexed where FirstName like '%test%'

给了我229行。

感谢您的帮助。

数据库,是MS SQL 2005.我认为它确实支持*作为后缀。它接缝,如果我提供''* test''*被认为是一个单词而不是外卡。测试成为以下单词。

包含只支持“test *”,它会查找以“test”开头的所有短语,后跟任何其他字符。

1 个答案:

答案 0 :(得分:2)

这是两种不同的表达方式。 LIKE '%test%'会找到这四个字符在一起的任何行(例如推荐或竞争者),其中contains将匹配单词。

我不知道您使用的是什么全文引擎,但通常支持通配符。例如,如果您使用contains(firstame, '*test*')的位置会发生什么?您必须在自由文本搜索中查阅特定的dbms文档以获取通配符。