sql >> Databáze >  >> RDS >> Sqlserver

Linq to Entities (EF 4.1):Jak udělat SQL LIKE se zástupným znakem uprostřed ( '%term%term%')?

Věřím, že byste mohli použít SqlFunctions. PatIndex :

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

SqlFunctions.PatIndex se chová stejně jako SQL LIKE operátor. Podporuje všechny standardní zástupné znaky včetně:

  • % Jakýkoli řetězec nula nebo více znaků.
  • (podtržítko) Jakýkoli jednotlivý znak.
  • [ ] Jakýkoli jednotlivý znak v zadaném rozsahu ([a-f]) nebo množině ([abcdef]).
  • [^] Jakýkoli jednotlivý znak mimo zadaný rozsah ([^a-f]) nebo sadu ([^abcdef]).

SqlFunctions.PatIndex je často k dispozici, když není k dispozici SqlMethods.Like (včetně řadičů MVC)



  1. Jak použít výstup výběrového dotazu jako vstup ve vkládacím dotazu?

  2. Charakteristika zprávy

  3. Data s otevřeným zdrojovým kódem rostou:Vyberte si MySQL, NoSQL nebo obojí

  4. Přiřazení výstupu BQ dotazu k proměnné