Filtern
Ein Filter ist eine durch Kommata getrennte Liste im Format (Name)(Operator)(Wert), wobei
(Name) der Name der zu prüfenden Eigenschaft ist.
(Operator) der zu verwendende Vergleichsoperator ist (siehe unten).
(Wert) der Wert mit dem verglichen/nach dem gefiltert werden soll.
Es ist möglich viele (Name)(Operator)(Wert)-Kombinationen zu kombinieren, indem sie durch Kommata getrennt aneinandergereiht werden (Zum Beispiel: "Id>1,Name@=Test").
Das Komma dient hierbei als UND-Operator. Es müssen also alle angegebenen Bedingungen erfüllt werden.
Zusätzlich können verschiedene mögliche Werte mit dem Pipe-Symbol aneinandergereiht werden (Zum Beispiel: "Id==1|2|3").
Das Pipe-Symbol dient hierbei als ODER-Operator. Es muss also nur einer der möglichen Werte korrekt sein.
Besonderheiten für Datumsfelder:
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
Wenn für einen Wert die Zeit nicht angegeben ist, wird sie als 00:00:00:0000 interpretiert.
Sollen bei einem Zeitintervall auch die Grenzfälle berücksichtigt werden, müssen die Werte präzise angegeben werden (Zum Beispiel: "Date>=2020/01/01 15:00:00.000,Date<=2020/12/31 23:59:59.9999")
Bedeutung der Operatoren:
Operator | Beschreibung | Gilt für |
---|---|---|
== | ist gleich | Alle Typen |
!= | ist nicht gleich | 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 | Zeichenketten |
!**@ | ist nicht null | Zeichenketten |
@*@@ | ist null oder leer | Zeichenketten |
!@*@@ | ist nicht null oder leer | Zeichenketten |
@=* | enthält ohne Beachtung der Groß-/Kleinschreibung | String |
_=* | beginnt mit ohne Beachtung der Groß-/Kleinschreibung | String |
==* | ist gleich ohne Beachtung der Groß-/Kleinschreibung | String |
!=* | ist ungleich ohne Beachtung der Groß-/Kleinschreibung | String |
!@=* | enthält nicht ohne Beachtung der Groß-/Kleinschreibung | String |
!_=* | beginnt nicht mit ohne Beachtung der Groß-/Kleinschreibung | String |
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). |