Filter
Ein Filter ist eine durch Kommata separierte Liste von Zeichenketten im Format (Name)(Operator)(Wert), wobei:
(Name) der Name einer Eigenschaft von DTOs ist.
(Operator) einer der Operatoren (siehe Liste) ist.
(Wert) der Wert ist nach dem gefiltert/mit dem verglichen werden soll.
Es ist möglich viele dieser Zeichenketten zu kombinieren (z.B. “Id>1,Name@=Test”), wobei ein Komma hier einem Und-Operator entspricht.
Um mehrere mögliche Werte zu prüfen, können diese mit dem Oder-Operator “|” verknüpft werden (z.B. “Id==1|2|3”).
Anmerkungen zu Datumswerten:
Gültige Formate:
YYYY/MM/DD HH:mm:ss.dddd
YYYY.MM.DD HH:mm:ss.dddd
YYYY-MM-DD HH:mm:ss.dddd
MM/DD/YYYY HH:mm:ss.dddd
MM.DD.YYYY HH:mm:ss.dddd
MM-DD-YYYY HH:mm:ss.dddd
Ist die Zeit nicht spezifiziert, wird sie intern als 00:00:00.0000 betrachtet.
Um sicherzustellen, dass die Außengrenzen eines Zeitintervalls von einer Abfrage eingeschlossen werden, sollten sie mit Sekundenbruchteilen angegeben werden (z.B. "Date>=2020/01/01 15:00:00.000,Date<=2020/12/31 23:59:59.9999").
Bedeutung der Operatoren:
Operator | Beschreibung | betrifft |
---|---|---|
== | ist gleich | Alle Typen |
!= | ist ungleich | Alle Typen |
> | größer als | Alle Typen |
< | kleiner als | Alle Typen |
>= | größer oder gleich | Alle Typen |
<= | kleiner oder gleich | Alle Typen |
@= | enthält | Alle Typen |
_= | beginnt mit | Zeichenketten |
!@= | enthält nicht | Zeichenketten |
!_= | beginnt nicht mit | Zeichenketten |
@@@ | ist leer | Zeichenketten |
!@@@ | ist nicht leer | Zeichenketten |
**@ | ist null | Alle Typen |
!**@ | ist nicht null | Alle Typen |
@*@@ | ist null oder leer | Alle Typen |
!@*@@ | ist nicht (null oder leer) | Alle Typen |
@=* | enthält ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
_=* | beginnt mit ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
==* | ist gleich ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
!=* | ist ungleich ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
!@=* | enthält nicht ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
!_=* | beginnt nicht mit ohne Beachtung der Groß-/Kleinschreibung | Zeichenketten |
Filterbeispiele
Filter | Bedeutung |
---|---|
"Name==*pc-pool|myname" | gibt DTOs zurück, deren Name “pc-pool” oder “myname” ist, wobei Groß-/Kleinschreibung nicht beachtet wird. |
"Name@=*pc|po|ol" | gibt DTOs zurück, deren Name “pc”, “po” oder “ol” enthält, wobei Groß-/Kleinschreibung nicht beachtet wird. |
"FloorId==153,Name!@=00,Number_=0008" | gibt DTOs zurück, deren FloorId 153 ist und deren Name nicht “00” enthält und deren Number mit “0008” beginnt. |
"Name>=0005,Number<7,Description@=S|e,Description!_=*e,Id!=258" | gibt DTOs zurück, deren Name größer oder gleich “0005” ist und deren Number kleiner als 7 ist und deren Beschreibung “S” oder “e” enthält, aber nicht mit “e” oder “E” beginnt und deren Id nicht 258 ist. |
"Modified>2013-01-01,Modified<=2013.12.31 14:13:34,Name!@=*.,Id==287|613|614" | gibt DTOs zurück, die 2013 modifiziert wurden und deren Name keinen Punkt “.” enthält und deren Id 287, 613 oder 614 ist. |
"Description!=00,FloorId<160,Comment! =*kELLER,Name =*20,Name@ =*8|9,ModifiedBy = =*Johny Smith" | gibt DTOs zurück, deren Beschreibung nicht mit “00” beginnt und deren FloorId kleiner als 160 ist und deren Kommentar nicht “kELLER” ist (ohne Beachtung der Groß-/Kleinschreibung) und deren Name mit “20” beginnt und “8” oder “9” enthält und die zuletzt von “Johny Smith” bearbeitet wurden (ohne Beachtung der Groß-/Kleinschreibung). |