- Kategorien:
Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)
[ NOT ] ILIKE¶
Führt einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung aus, um festzustellen, ob eine Zeichenfolge mit einem angegebenen Muster übereinstimmt oder nicht. Verwenden Sie für Abgleiche mit Berücksichtigung der Groß-/Kleinschreibung stattdessen LIKE.
LIKE, ILIKE und RLIKE führen alle ähnliche Operationen aus. RLIKE nutzt jedoch die POSIX ERE (Extended Regular Expression)-Syntax und nicht die SQL-Mustersyntax, die von LIKE und ILIKE verwendet wird.
Tipp
Sie können den Suchoptimierungsdienst verwenden, um die Leistung von Abfragen zu verbessern, die diese Funktion aufrufen. Weitere Details dazu finden Sie unter Suchoptimierungsdienst.
- Siehe auch::
Syntax¶
<subject> [ NOT ] 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.
Rückgabewerte¶
Gibt einen BOOLEAN-Wert oder NULL zurück.
Wenn ILIKE angegeben ist und eine Übereinstimmung vorliegt, ist der Wert TRUE. Andernfalls wird FALSE zurückgegeben.
Wenn NOT ILIKE angegeben ist und keine Übereinstimmung vorliegt, ist der Wert TRUE. Andernfalls wird FALSE zurückgegeben.
Wenn entweder ILIKE oder NOT ILIKE angegeben ist, wird NULL zurückgegeben, wenn ein Argument NULL ist.
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¶
Es werden nur die Sortierungsspezifikationen upper
, lower
und trim
unterstützt. Kombinationen mit upper
, lower
und trim
werden ebenfalls unterstützt (z. B. upper-trim
und lower-trim
), mit Ausnahme von Gebietsschema-Kombinationen (z. B. en-upper
).
Bemerkung
Um diese Funktion mit einer Spalte zu verwenden, die die Sortierungsspezifizierer upper
, lower
oder trim
hat, müssen Sie das Verhaltensänderungs-Bundle 2024_02 in Ihrem Konto aktivieren.
Um dieses Bundle in Ihrem Konto zu aktivieren, führen Sie die folgende Anweisung aus:
SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2024_02');
Beispiele¶
CREATE OR REPLACE TABLE ilike_ex(name VARCHAR(20)); INSERT INTO ilike_ex VALUES ('John Dddoe'), ('Joe Doe'), ('John_down'), ('Joe down'), (null);SELECT * FROM ilike_ex WHERE name ILIKE '%j%h%do%' ORDER BY 1;+-------------+ | NAME | |-------------| | John Dddoe | | John_down | +-------------+SELECT * FROM ilike_ex WHERE name NOT ILIKE '%j%h%do%' ORDER BY 1;+-----------+ | NAME | |-----------| | Joe Doe | | Joe down | +-----------+SELECT * FROM ilike_ex WHERE name ILIKE '%j%h%^_do%' ESCAPE '^' ORDER BY 1;+-----------+ | NAME | |-----------| | John_down | +-----------+