Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Le query FREETEXT in SQL Server 2008 non corrispondono a frasi

Come hai detto, FREETEXT cerca ogni parola nella tua frase, non la frase come un tutto. Per questo devi usare CONTAINS dichiarazione. In questo modo:

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

Se vuoi ottenere la classifica dei risultati, devi usare CONTAINSTABLE . Funziona più o meno allo stesso modo, ma restituisce una tabella con due colonne:[Key] che contiene la chiave primaria della tabella di ricerca e [Rank], che ti dà il rango del risultato.