2009-10-20 14 views
0

Je souhaite utiliser SQL SERVER 2008 Recherche de texte intégral pour obtenir les enregistrements contenant un mot ou une phrase comme texte entier dans le champ et non comme partie du texte dans le champ champ. Par exemple: J'ai beaucoup d'enregistrements contenant le mot 'Héritage' comme le texte entier dans le champ et d'autres champs contenant le même mot entre, au début et à la fin du texte dans le champ. Je veux obtenir seulement les enregistrements contenant le mot 'Héritage' comme le texte entier dans l'enregistrement.Recherche d'une expression à l'aide de SQL Server Recherche de texte intégral

Merci.

+0

La question n'est pas vraiment claire pour moi ... ni ce que vous voulez faire, ni ce que vous demandez. –

+0

Par exemple (un enregistrement a la valeur 'Héritage' et un enregistrement a la valeur 'Héritage matériel' ou 'Héritage avant 2009') J'ai besoin d'obtenir l'enregistrement qui a la valeur 'Héritage' et pas tous les enregistrements contenant le mot Héritage - quel est le comportement de la recherche en texte intégral. –

Répondre

2

Si vous voulez juste les lignes dans lequel un champ particulier correspond exactement une chaîne spécifiée, vous n'avez pas besoin d'utiliser recherche de texte intégral du tout, juste une requête SQL normale:

select * from the_table where the_field = 'inheritance' 
+1

La table que je recherche a 500 millions d'enregistrements et le champ est nvarchar (max). La performance de la recherche en texte intégral est nettement meilleure que celle de l'opérateur = dans ce cas. –

0

Selon la documentation cela devrait fonctionner,

WHERE CONTAINS(thefield, '"Inheritance*" AND NOT "Inheritance *"'); 

Impossible de tester ici puisque nous n'avons pas les bases de données de recherche en texte intégral activé.

Questions connexes