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

7645 Prédicat de texte intégral nul ou vide

J'ai trouvé la réponse à cela aujourd'hui lors de la conversion de ma propre base de données de SQL 2005 à SQL 2008.

Passer "" pour votre terme de recherche et modifiez @search_term ='' test pour être @search_term = '""' Le serveur SQL ignorera les guillemets doubles et ne générera pas d'erreur.

Par exemple, ce qui suit renverrait en fait tous les enregistrements de la table Utilisateurs :

declare  @SearchTerm nvarchar(250)

SET @SearchTerm = '""'

select UserId, U.Description, U.UserName
from dbo.Users U
WHERE ((@SearchTerm = '""') OR CONTAINS( (U.Description, U.UserName), @SearchTerm))

Si vous utilisez .Net, vous pouvez récupérer une copie de la classe FullTextSearch d'E. W. Bachtal. Son site est très informatif :http://ewbi.blogs.com/develops/