Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

7645 Null oder leeres Volltextprädikat

Die Antwort darauf habe ich heute gefunden, als ich meine eigene Datenbank von SQL 2005 auf SQL 2008 umgestellt habe.

Übergeben Sie "" für Ihren Suchbegriff und ändern Sie den @search_term ='' test auf @search_term = '""' Der SQL-Server ignoriert die doppelten Anführungszeichen und gibt keinen Fehler aus.

Folgendes würde beispielsweise tatsächlich alle Datensätze in der Benutzertabelle zurückgeben:

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

Wenn Sie .Net verwenden, können Sie sich eine Kopie der FullTextSearch-Klasse von E. W. Bachtal besorgen. Seine Website ist sehr informativ:http://ewbi.blogs.com/develops/