Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

LIKE-Prädikat (einfacher Mustervergleich)

Es wird geprüft, ob ein alphanumerischer Wert oder ein National-Wert zu einem angegebenen Muster passt. Ein Muster ist eine Zeichenkette, die außer normalen Zeichen auch Platzhalter und Entwertungszeichen enthalten kann.

Ein Platzhalter steht für ein oder mehrere andere Zeichen. Platzhalter können auch als normales Zeichen im Muster erscheinen, wenn sie mit dem Entwertungszeichen entwertet werden. Das Entwertungszeichen können Sie mit der ESCAPE-Klausel definieren.


operand [NOT] LIKE muster [ESCAPE zeichen ]

operand ::= ausdruck
muster ::= ausdruck
zeichen ::= ausdruck



operand

Alphanumerischer Ausdruck oder National-Ausdruck, der den Operanden für den Mustervergleich darstellt.

Der Wert von operand muss entweder einfach sein oder der Name einer multiplen Spalte. Ist der Operand eine multiple Spalte, darf die Spaltenangabe keine Außenreferenz, also nicht Spalte eines übergeordneten Abfrage-Ausdrucks sein.


muster

Alphanumerischer Ausdruck oder National-Ausdruck, zu dessen Wert der Wert von operand passen soll. muster darf enthalten:

    • normale Zeichen (d.h. ohne Platzhalter und Entwertungszeichen)

    • Platzhalter

      Platzhalter

      Bedeutung

      _ (Unterstrich)

      %

      ein beliebiges Zeichen

      beliebige (auch leere) Folge von Zeichen

    • Entwertungszeichen (gefolgt von Platzhalter oder Entwertungszeichen)

Leerzeichen in muster, auch am Anfang oder Ende, gehören zum Muster.


ESCAPE-Klausel

Mit der ESCAPE-Klausel können Sie ein Entwertungszeichen (ESCAPE-Zeichen) definieren. Entwertungszeichen vor Platzhaltern bewirken, dass die Platzhalter ihre Funktion als Platzhalter verlieren und statt dessen als normale Zeichen interpretiert werden. Mit dem Entwertungszeichen können Sie auch das Entwertungszeichen entwerten und als normales Zeichen verwenden.


zeichen

Alphanumerischer Ausdruck oder National-Ausdruck, dessen Wert die Länge 1 hat.zeichen gilt in diesem Vergleich als Entwertungszeichen.

ESCAPE-Klausel nicht angegeben:
Es ist kein Entwertungszeichen definiert.


Die Datentypen von operand, muster und zeichen müssen vergleichbar sein, d.h. entweder haben alle einen der Datentypen CHAR und VARCHAR, oder alle einen der Datentypen NCHAR und NVARCHAR, siehe auch Abschnitt „Verträglichkeit von Datentypen".


Ergebnis

operand einfach:

Unbestimmt, wenn der Wert von operand, muster oder zeichen der NULL-Wert ist, sonst:

Ohne NOT:

Wahr, wenn die Platzhalter für Zeichen und Zeichenfolgen in muster jeweils durch Zeichen und Zeichenfolgen ersetzt werden können, sodass der entstehende Wert gleich dem Wert von operand ist und die gleiche Länge hat.

Falsch, sonst.

Mit NOT:

Wahr, wenn die Platzhalter für Zeichen und Zeichenfolgen in muster nicht jeweils durch Zeichen und Zeichenfolgen ersetzt werden können, sodass der entstehende Wert gleich dem Wert von operand ist und die gleiche Länge hat.

Falsch, sonst.


operand multiple Spalte:

Der Mustervergleich wird für jede Ausprägung der multiplen Spalte durchgeführt. Die Einzelergebnisse werden mit OR verknüpft.


Beispiele

Aus der Tabelle KONTAKT alle Kontaktpersonen heraussuchen, deren Vorname mit Ro beginnt:

SELECT vorname, nachname FROM kontakt WHERE vorname LIKE 'Ro%'
vorname    nachname
Roland     Loetzerich
Robert     Heinlein


Die folgende Anweisung sucht aus einer alphanumerischen Spalte SP einer Tabelle TAB alle Zeichenfolgen, die mit Unterstrich beginnen und mit mindestens einem Leerzeichen enden:

SELECT * FROM tab WHERE sp LIKE '@_% ' ESCAPE '@'


Folgendes Prädikat liefert wahr für alle dreistelligen Werte von ANREDE, deren erstes Zeichen „M“ und deren drittes Zeichen „.“ ist, also auch für „Mr.“ und „Ms.“. „_“ ist ein Platzhalter, der für ein beliebiges Zeichen steht. Da der Datentyp der Spalte ANREDE CHAR(20) ist, muss die Zeichenkette mit Leerzeichen auf genau die Länge 20 aufgefüllt werden.

anrede LIKE 'M_.                 '


Durch das Escape-Zeichen „!“ wird der Platzhalter „%“ entwertet, so dass der Vergleich nur für 'Reisekosten%Rabatt' wahr ergibt.

ltext LIKE 'Reisekosten!%Rabatt' ESCAPE '!'