Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

ILIKE ANY

Führt einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung aus, um eine Zeichenfolge mit einem oder mehreren angegebenen Mustern abzugleichen. Verwenden Sie diese Funktion in einer WHERE-Klausel, um nach Übereinstimmungen zu filtern. Verwenden Sie für Abgleiche mit Berücksichtigung der Groß-/Kleinschreibung stattdessen LIKE ANY.

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:

[ NOT ] LIKE, [ NOT ] ILIKE, LIKE ANY

Syntax

<subject> ILIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
Copy

Argumente

Erforderlich:

subject

Die Zeichenfolge, die mit den Mustern verglichen werden soll.

pattern#

Die Muster, mit denen die Zeichenfolge verglichen werden soll. Sie müssen mindestens ein Muster angeben.

Optional:

escape_char

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. Der Wert ist TRUE, wenn es eine Übereinstimmung gibt. Andernfalls wird FALSE zurückgegeben. Gibt NULL zurück, wenn ein Argument NULL ist.

Nutzungshinweise

  • Folgende 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 Sequenz von null oder mehr Zeichen vor.

  • Platzhalter in pattern erkennen in subject-Werten auch Zeilenumbruchzeichen (n) als Übereinstimmungen.

  • Das Muster wird als Übereinstimmung betrachtet, wenn das Muster mit der gesamten Eingabezeichenfolge (Subjekt) übereinstimmt. Um eine Sequenz an einer bestimmten Stelle in einer Zeichenfolge abzugleichen, beginnen und beenden Sie das Muster mit %, zum Beispiel ‚%something%‘.

  • NULL stimmt nicht mit NULL überein. Mit anderen Worten: Wenn das Subjekt NULL ist und eines der Muster NULL ist, wird dies nicht als Übereinstimmung angesehen.

  • Sie können den logischen Operator NOT vor subject verwenden, um einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung auszuführen, der TRUE zurückgibt, wenn er mit keinem der angegebenen Muster übereinstimmt.

  • Wenn die Funktion mit einer Unterabfrage verwendet wird, sollte die Unterabfrage eine einzelne Zeile zurückgeben.

    Beispielsweise sollte Folgendes nur verwendet werden, wenn die Unterabfrage eine einzelne Zeile zurückgibt:

    SELECT ...
        WHERE x ILIKE ANY (SELECT ...)
    
    Copy

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');
Copy

Beispiele

Hier wird die Verwendung von ILIKEANY gezeigt:

Erstellen Sie eine Tabelle, die einige Zeichenfolgen enthält:

CREATE OR REPLACE TABLE ilike_example(name VARCHAR(20));
INSERT INTO ilike_example VALUES
    ('jane doe'),
    ('Jane Doe'),
    ('JANE DOE'),
    ('John Doe'),
    ('John Smith');
Copy
SELECT * 
  FROM ilike_example 
  WHERE name ILIKE ANY ('jane%', '%SMITH')
  ORDER BY name;
Copy
+------------+                                                                  
| NAME       |
|------------|
| JANE DOE   |
| Jane Doe   |
| John Smith |
| jane doe   |
+------------+

Beispiele zur Verwendung von Platzhalterzeichen finden Sie in der Dokumentation der zugehörigen Funktion LIKE ANY.