sql >> Database >  >> RDS >> Sqlserver

Linq to Entities (EF 4.1):Hoe doe je een SQL LIKE met een wildcard in het midden ('%term%term%')?

Ik geloof dat je SqlFunctions zou kunnen gebruiken. PatIndex :

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

SqlFunctions.PatIndex gedraagt ​​zich hetzelfde als de SQL LIKE exploitant. Het ondersteunt alle standaard jokertekens, waaronder:

  • % Elke reeks van nul of meer tekens.
  • _ (underscore) Elk afzonderlijk teken.
  • [ ] Elk afzonderlijk teken binnen het opgegeven bereik ([a-f]) of set ([abcdef]).
  • [^] Elk afzonderlijk teken dat niet binnen het opgegeven bereik ([^a-f]) of set ([^abcdef]) valt.

SqlFunctions.PatIndex is vaak beschikbaar wanneer de SqlMethods.Like niet beschikbaar is (ook binnen MVC-controllers)



  1. Hoe subkenmerk op te slaan in de 3e tabel in laravel

  2. Bindende variabele aan tabelnaam met cx_Oracle

  3. MySQL-resultaten correct vergelijken en uitsluiten

  4. mysql werkt niet voor IS NIET NULL