Подтвердить что ты не робот

Синтаксическая ошибка около 'of' в режиме полнотекстового поиска 'control of'

У меня есть следующее предложение WHERE:

WHERE (@Keywords IS NULL
            OR (CONTAINS((p.Title, p.Area, p.[Message]), @Keywords))
        )

Если @Keywords = 'control', запрос выполняется успешно и фильтрует мои записи

Если @Keywords = 'control of', я получаю следующую ошибку:

Синтаксическая ошибка около 'of' в режиме полнотекстового поиска 'control of'.

Почему это и что я могу сделать для решения проблемы?

Основная причина, по которой я использую этот метод при использовании условия LIKE, - это возможность поиска нескольких слов.

4b9b3361

Ответ 1

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

SET @Keywords = '"control of"'

Если вы хотите найти элемент управления и , используйте следующее:

SET @Keywords = 'control AND of'

Но сервер может считать of как мусор или слово-стоп, поэтому в этом случае используйте следующее:

SET @Keywords = 'control AND "of"'