SQL FREETEXT Поиск с пропуском пробела

У меня есть таблица 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')

person sora0419    schedule 18.02.2014    source источник


Ответы (1)


Запрос

выберите * из Тезауруса, где Содержит (Определение, '"AB 001"')

даст вам поиск по фразе с правильным результатом

person Andreas    schedule 23.06.2014