То, как Вы выходите из двойных кавычек в SQL fulltext, 'содержит' функцию?

То, как Вы выходите из символа двойной кавычки в SQL MS, 'содержит' функцию?

SELECT decision
FROM table 
WHERE CONTAINS(decision, '34" AND wide')

Обычно содержит (), ожидает, что двойные кавычки окружат точную фразу для соответствия, но я хочу искать фактический символ двойной кавычки. Я попытался выйти из него с \, ', и даже другая двойная кавычка, но ничего подобного не работал.

P.S. Я понимаю, что простой пример как это мог также быть сделан с помощью оператора LIKE, но я должен использовать функцию полнотекстового поиска. Запрос, который я обеспечил здесь, был упрощен от моего фактического запроса, например, цели.

7
задан Richard Davies 21 May 2010 в 22:28
поделиться

1 ответ

Из документации :

Пунктуация игнорируется. Следовательно, СОДЕРЖИТ (тестирование, «сбой компьютера») соответствует строке со значением «Где мой компьютер? Неспособность его найти будет дорого».

Поскольку FULLTEXT даже не индексирует знаки препинания, вам необходимо отфильтровать результаты с помощью LIKE :

SELECT  decision
FROM    table 
WHERE   CONTAINS(decision, '34 AND wide')
        AND decision LIKE '%34"%'

Это сохранит преимущества полнотекстового поиска.

5
ответ дан 7 December 2019 в 07:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: