#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