Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

7645 Null lub pusty predykat pełnotekstowy

Znalazłem odpowiedź na to dzisiaj podczas konwersji własnej bazy danych z SQL 2005 na SQL 2008.

Przekaż "" dla wyszukiwanego hasła i zmień @search_term ='' test, aby być @search_term = '""' Serwer SQL zignoruje podwójne cudzysłowy i nie zgłosi błędu.

Na przykład poniższy kod faktycznie zwróci wszystkie rekordy w tabeli Użytkownicy:

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

Jeśli używasz .Net, możesz pobrać kopię klasy FullTextSearch E.W. Bachtala. Jego strona jest bardzo pouczająca:http://ewbi.blogs.com/develops/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepszy sposób na wdrożenie ścieżki audytu w SQL Server?

  2. Problem z otwieraniem pliku MDF, ponieważ mówi błąd SQL 5171? - Post gościnny autorstwa Andre Williams

  3. Jak zaktualizować klucz podstawowy

  4. Jak wstawić JSON do tabeli w SQL Server

  5. Domyślne kodowanie znaków SQL Server