Consulta de tabela de texto livre
-
10-12-2019 - |
Pergunta
Eu escrevi uma consulta sql para pesquisar 2 colunas de um banco de dados, partNo e Description e funciona bem para pesquisar descrições, no entanto, se você pesquisar um número de peça como 164, ele pegará todos os números de peça que começam com 164, como digamos :164-20, mas não obtém resultados como, digamos, APS164-20
aqui está meu código SQL, estou executando o 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
Eu tentei o containstable, mas também não retornou as linhas
Solução
A pesquisa de texto completo não cobrirá esse cenário, em que você procura essencialmente o termo de pesquisa como uma substring no texto.
Em vez disso, tente uma pesquisa curinga tradicional:
SELECT *
FROM Parts AS FT_TBL
WHERE FT_TBL.PartNo like '%164%'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow