|
pattern matching operators, Mustererkennungs Operatoren
Ein pattern matching operator, also ein Mustererkennungs
Operator
ist ein Teil einer
Query,
also einer Datenbankabfrage. Der pattern matching Operator vergleicht während der Abfrage
Spalten
einer
Tabelle
miteinander und bewertet sie auf Übereinstimmung (en.: match) des angegebenen Musters (en.: pattern).
Als pattern matching Operator steht das like zur Verfügung. Es kann mit den so genannten
Wildcards
verwendet werden, um eine möglichst flexible Abfrage zu gestalten.
Wildcards des like Operators
-
% - Das Prozentzeichen ist ein Wildcard für Zeichenfolgen von 0 bis n Zeichen.
select name from your_database..sysusers
where name like "%Schmit%"
-
_ - Der Unterstrich ist ein Wildcard für einzelne Zeichen.
select name from your_database..sysusers
where name like "_chmit%"
-
[ ] - Die eckige Klammer ist ein Wildcard, um Wertebereiche festzulegen.
select name from your_database..sysusers
where name like "[Ss][Cc][Hh][Mm][Ii][Tt]"
-
^ - Das Circumflex ist ein Wildcard zur Negation der Mustererkennung.
select name from your_database..sysusers
where name like "[^A-RT-Z]chmit%"
Das selbe Ergebnis erhält man mit der folgenden Query
select name from your_database..sysusers
where name not like "[A-RT-Z]chmit%"
Falls eines der oben genannten Wildcardzeichen ein gesuchtes Zeichen sein sollte, muss es
maskiert
werden. Hierzu verwendet man die
escape
Klausel.
Man stellt dazu ein beliebiges Zeichen dem zu maskierendem Zeichen voran und kennzeichnet es mit der
Klausel escape als Maskierungszeichen. Im folgenden wird der \ (Backslash) als
Maskierungszeichen benutzt.
select name from your_database..sysusers
where name like "%_%" escape ""
Neben dem Operator "like" verfügt auch die
String Funktion
patindex()
über pattern matching Funktionen.
Siehe auch:
Bit Operatoren.
|