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

7645 Nul eller tomt fuldtekstprædikat

Jeg fandt svaret på dette i dag, da jeg konverterede min egen database fra SQL 2005 til SQL 2008.

Send "" for dit søgeudtryk og ændre @search_term ='' test til at være @search_term = '""' SQL-serveren vil ignorere de dobbelte anførselstegn og ikke give en fejl.

For eksempel ville følgende faktisk returnere alle poster i tabellen Brugere:

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))

Hvis du bruger .Net, kan du få fat i en kopi af E. W. Bachtals FullTextSearch-klasse. Hans websted er meget informativt:http://ewbi.blogs.com/develops/



  1. Indsæt flere rækker UDEN at gentage INSERT INTO ...-delen af ​​sætningen?

  2. Vælg n tilfældige rækker fra SQL Server-tabellen

  3. 4 måder at få en lagret procedures definition ved hjælp af Transact-SQL

  4. Ruby gem mysql2 installation mislykkedes