Полнотекстовый поиск SQL server 2008 не работает с одной буквой

#sql-server #full-text-search

#sql-server #полнотекстовый поиск

Вопрос:

Полнотекстовый поиск не работает, если я передаю только одну букву в качестве параметра

 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 *’ для поиска «начинается с 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