У меня есть таблица Thesaurus в моей базе данных, я хочу собирать данные с помощью FREETEXT. Однако строка, которую я ищу, содержит пробелы.
Например, я хочу найти код "AB 001"
select *
from TheThesaurus
where freetext(TheDefinition, 'AB 001')
Этот код будет искать как «AB», так и «001», что даст мне гораздо больше нежелательных результатов. Я пытался поместить строку в двойные кавычки, но это тоже не работает.
select *
from TheThesaurus
where freetext(TheDefinition, '"AB 001"')
Как мне сделать так, чтобы я мог искать полную строку "AB 001"??
Я использовал LIKE, и он дал мне желаемый результат, но я хочу попробовать полнотекстовый поиск, так как он намного быстрее и даст более точный результат в моем случае.
select *
from TheThesaurus
where TheDefinition LIKE '%AB 001%'
Спасибо!
РЕДАКТИРОВАТЬ
Я пытался использовать CONTAINS
, но это давало мне дополнительные результаты, и я не мог понять, почему они возвращаются. У меня тоже не работает функция CONTAINS
:/
select *
from TheThesaurus
where Contains(TheDefinition, 'AB%001')