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

Linq to Entities (EF 4.1):Jak zrobić SQL LIKE z symbolem wieloznacznym w środku ('%term%term%')?

Uważam, że możesz użyć SqlFunctions. PatIndex :

dt.Table.Where(p => SqlFunctions.PatIndex(term, p.fieldname) > 0);

SqlFunctions.PatIndex zachowuje się tak samo jak SQL LIKE operator. Obsługuje wszystkie standardowe znaki wieloznaczne, w tym:

  • % Dowolny ciąg składający się z zera lub więcej znaków.
  • _ (podkreślenie) Dowolny pojedynczy znak.
  • [ ] Dowolny pojedynczy znak z określonego zakresu ([a-f]) lub zestawu ([abcdef]).
  • [^] Dowolny pojedynczy znak spoza określonego zakresu ([^a-f]) lub ustawiony ([^abcdef]).

SqlFunctions.PatIndex jest często dostępny, gdy SqlMethods.Like nie jest dostępny (w tym w kontrolerach MVC)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Projekt bazy danych:Obliczanie salda konta

  2. Błąd SQL Server Management Studio Nie można znaleźć zapisanego pliku ustawień

  3. Zmienna tabeli słaba wydajność podczas wstawiania w procedurze składowanej programu SQL Server

  4. In-Memory OLTP:Co nowego w SQL Server 2016

  5. Jak mogę uzyskać rekordy o wartości NULL z tabeli?