像sql自由文本搜索

像sql自由文本搜索,sql,sql-server-2005,Sql,Sql Server 2005,也许这是个愚蠢的问题 我如何使用自由文本在sql中实现类似“%test%”的功能 我认为contains和free text相当于“像“%test%”,加上one-get的语法检查和性能 就我而言,我有: select * from ServiceOfferResultIndexed where contains(FirstName,'test') 这给了我18分 rows.select * from ServiceOfferResultIndexed where FirstName lik

也许这是个愚蠢的问题

我如何使用自由文本在sql中实现类似“%test%”的功能

我认为contains和free text相当于“像“%test%”,加上one-get的语法检查和性能

就我而言,我有:

select * from ServiceOfferResultIndexed where contains(FirstName,'test') 
这给了我18分

rows.select * from ServiceOfferResultIndexed where FirstName like '%test%'
这给了我229行

谢谢你的帮助

数据库是MS SQL 2005。我认为它确实支持*作为后缀。如果我提供“*”测试,*”将被视为一个单词,而不是通配符。Test变成了下面的单词


Contains将仅支持“test*”,其中它将查找以“test”开头,后跟任何其他字符的所有短语。

这是两个不同的表达式<代码>如“%test%”将查找这四个字符在一起的任何行(例如,推荐信或参赛者),其中
包含的
将在单词上匹配

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