sql >> Databasteknik >  >> RDS >> Sqlserver

Linq to Entities (EF 4.1):Hur gör man en SQL LIKE med ett jokertecken i mitten ('%term%term%')?

Jag tror att du kan använda SqlFunctions. PatIndex :

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

SqlFunctions.PatIndex beter sig på samma sätt som SQL LIKE operatör. Den stöder alla vanliga jokertecken inklusive:

  • % Valfri sträng med noll eller fler tecken.
  • (understreck) Vilket enskilt tecken som helst.
  • [ ] Vilket enskilt tecken som helst inom det angivna intervallet ([a-f]) eller uppsättningen ([abcdef]).
  • [^] Alla enstaka tecken som inte ligger inom det angivna intervallet ([^a-f]) eller set ([^abcdef]).

SqlFunctions.PatIndex är ofta tillgängligt när SqlMethods.Like inte är tillgängligt (inklusive inom MVC-kontroller)



  1. Hur framtvingar jag uppsättningsliknande unikhet mellan flera kolumner?

  2. HTML-inmatningsformulärsruta fyller inte i PHP-värde efter första blanksteg

  3. Hur blir man av med NUL-tecken i Oracle-databasen?

  4. Slå samman data i två rader till en