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.
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 '!'