我在这里的原因是SQL 2005全文搜索。
我在这里使用这个查询进行搜索:
declare @SearchText nvarchar(1000)
set @SearchText='Dream';
SELECT *
FROM
MashupSearchLookup AS FT_MyTable WITH (NOLOCK)
INNER JOIN FREETEXTTABLE(MyTable, *, @SearchText ) AS KEY_TBL
ON FT_MyTable.ID = KEY_TBL.[KEY] 当我搜索football时,它会显示3行,这很好,但是当我搜索foot或ball时,不会返回任何记录。对我来说,它的搜索就像匹配精确的案例。
我也可以做些什么来获得foot和ball的结果吗?
谢谢
发布于 2011-04-22 19:39:07
要搜索以foot开头的单词,请使用:
SELECT *
FROM MashupSearchLookup
WHERE CONTAINS(*, '"foot*"')在SQL Server中,FULLTEXT查询不能匹配后缀或中缀(也就是说,您不能搜索"*ball"或"*otba*")。
您能做的最好的搜索就是使用LIKE
SELECT *
FROM MashupSearchLookup
WHERE col1 LIKE '%ball%'
OR col2 LIKE '%ball%'等。
https://stackoverflow.com/questions/5754963
复制相似问题