- Kategorien:
Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)
ILIKE¶
Ermöglicht das Abgleichen von Zeichenfolgen basierend auf dem Vergleich mit einem Muster. Anders als bei der Funktion LIKE wird beim Abgleich von Zeichenfolgen zwischen Groß- und Kleinschreibung nicht unterschieden.
LIKE, ILIKE und RLIKE führen ähnliche Operationen aus. RLIKE nutzt jedoch die POSIX EXE (Extended Regular Expression)-Syntax und nicht die SQL-Mustersyntax, die von LIKE und ILIKE verwendet wird.
Syntax¶
<subject> ILIKE <pattern> [ ESCAPE <escape> ]
ILIKE( <subject> , <pattern> [ , <escape> ] )
Argumente¶
Benötigt:
subject
Abzugleichendes Subjekt.
pattern
Abzugleichendes Muster.
Optional:
escape
Zeichen, die vor einem Platzhalterzeichen eingefügt werden, um anzuzeigen, dass der Platzhalter als normales Zeichen und nicht als Platzhalter interpretiert werden soll.
Nutzungshinweise¶
SQL-Platzhalter werden in
pattern
unterstützt:Ein Unterstrich (
_
) nimmt einen Abgleich für beliebige Einzelzeichen vor.Ein Prozentzeichen (
%
) nimmt einen Abgleich für eine beliebige Folge von null oder mehr Zeichen vor.
Platzhalter in
pattern
erkennen insubject
-Werten auch Zeilenumbruchzeichen (\n
) als Übereinstimmungen.Eine Mustererkennung mit ILIKE deckt die gesamte Zeichenfolge ab. Um eine Sequenz an einer beliebigen Stelle in einer Zeichenfolge abzugleichen, beginnen und beenden Sie das Muster mit
%
.Es gibt kein Standard-Escape-Zeichen.
Wenn Sie den umgekehrten Schrägstrich (Backslash) als Escape-Zeichen verwenden, müssen Sie den Backslash in der ESCAPE-Klausel als Escape-Zeichen angeben. Der folgende Befehl gibt beispielsweise an, dass das Escape-Zeichen der Backslash ist, und sucht dann mit diesem Escape-Zeichen nach „%“ als Literal (ohne das Escape-Zeichen wird „%“ als Platzhalter behandelt):
'SOMETHING%' ILIKE '%\\%%' ESCAPE '\\';
Beispiele zur Verwendung von Escape-Zeichen und insbesondere des umgekehrten Schrägstrichs als Escape-Zeichen finden Sie in den Beispielen für die LIKE-Funktion.
Sortierungsdetails¶
Arguments with collation specifications are currently not supported.
Beispiele¶
CREATE OR REPLACE TABLE ilike_ex(subject varchar(20)); INSERT INTO ilike_ex VALUES ('John Dddoe'), ('Joe Doe'), ('John_down'), ('Joe down'), (null);SELECT * FROM ilike_ex WHERE subject ILIKE '%j%h%do%' ORDER BY 1; +-------------+ | SUBJECT | |-------------| | John Dddoe | | John_down | +-------------+SELECT * FROM ilike_ex WHERE subject ILIKE '%j%h%^_do%' ESCAPE '^' ORDER BY 1; +-----------+ | SUBJECT | |-----------| | John_down | +-----------+