2011-04-18 85 views
1

全文搜索无法正常工作,如果我传只有一个字母作为帕拉姆工作SQL Server 2008中的全文搜索不是一个字母

DECLARE @search_param NVARCHAR(250) 
SET @search_param = 'a' 

    SELECT TOP 500 
      [KEY] AS id, 
      [RANK] AS relevance 
    FROM  CONTAINSTABLE(table_name, column_name, @search_word) 
    ORDER BY 2 DESC, 1 desc 

如果只有一个字母传递我需要它来只选择句子从那封信开始。

回答

1

使用 'A *' 搜索 “始于”

DECLARE @search_param NVARCHAR(250) SET @search_param = 'a' 

-- if only one letter is passed 
-- i need it to select only sentences that start with that letter 
if len(@search_param) = 1 set @search_param = '"' + @search_param + '*"' 

SELECT TOP 500 
     [KEY] AS id, 
     [RANK] AS relevance 
FROM  CONTAINSTABLE(table_name, column_name, @search_param) 
ORDER BY 2 DESC, 1 desc