Запрос FreetextTable

Я написал запрос sql для поиска в 2 столбцах базы данных, partNo и Description, и он отлично работает для поиска описаний, однако, если вы ищете номер детали, такой как 164, он выбирает все номера деталей, которые начинаются с 164, например, скажем : 164-20, но он не получает результатов, как, например, APS164-20

вот мой код sql, я запускаю mssql 2005.

SELECT FT_TBL.*, KEY_TBL.RANK
FROM Parts AS FT_TBL 
    INNER JOIN FREETEXTTABLE(Parts,(PartNo, Description),  
    '164') AS KEY_TBL
        ON FT_TBL.PartNo = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC;
GO

Я пробовал containstable, но строки тоже не вернулись


person user1061995    schedule 09.03.2012    source источник


Ответы (1)


Полнотекстовый поиск не будет охватывать этот сценарий, когда вы, по сути, ищете поисковый запрос как подстроку в тексте.

Вместо этого попробуйте традиционный поиск по шаблонам:

SELECT *
FROM Parts AS FT_TBL 
WHERE FT_TBL.PartNo like '%164%'
person Keith    schedule 09.03.2012
comment
Поиск с подстановочными знаками не может быть ранжирован, правда ли? - person user1061995; 09.03.2012
comment
Найдено решение, запустите поиск с подстановочными знаками исключительно на partNo, и если это вернет 0 строк, запустите полный текст - person user1061995; 09.03.2012