Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Les requêtes FREETEXT dans SQL Server 2008 ne correspondent pas aux phrases

Comme vous l'avez dit, FREETEXT recherche chaque mot de votre phrase, pas la phrase comme un tout. Pour cela, vous devez utiliser le CONTAINS déclaration. Comme ceci :

SELECT Description  
FROM Projects   
WHERE CONTAINS(Description, '"City Hall"')

Si vous voulez obtenir le classement des résultats, vous devez utiliser CONTAINSTABLE . Cela fonctionne à peu près de la même manière, mais cela renvoie un tableau à deux colonnes :[Key] qui contient la clé primaire de la table de recherche et [Rank], qui vous donne le rang du résultat.