Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

LIKE ANY

Ermöglicht das Abgleichen von Zeichenfolgen basierend auf dem Vergleich mit einem oder mehreren Mustern unter Berücksichtigung der Groß- und Kleinschreibung.

Die Operation ähnelt LIKE. Wenn die Eingabezeichenfolge mit einem der Muster übereinstimmt, wird die Eingabezeichenfolge zurückgegeben.

Siehe auch:

LIKE

Syntax

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

Argumente

Benötigt:

Subjekt

Die Zeichenfolge, die mit den Mustern verglichen werden soll.

Muster#

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

Optional:

Escape-Zeichen

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

Der Datentyp des zurückgegebenen Werts ist VARCHAR.

Nutzungshinweise

  • SQL-Platzhalter werden in Muster 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 Muster erkennen auch Zeilenumbruchzeichen (\n) in Subjekt 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 und eines der Muster NULL sind, wird dies nicht als Übereinstimmung angesehen.

Beispiele

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

CREATE OR REPLACE TABLE like_example(subject varchar(20));
INSERT INTO like_example VALUES
    ('John  Dddoe'),
    ('Joe   Doe'),
    ('John_down'),
    ('Joe down'),
    ('Tom   Doe'),
    ('Tim down'),
    (null);

Diese Abfrage zeigt, wie Muster mit Platzhaltern (%) verwendet werden, um Übereinstimmungen zu finden:

SELECT * 
  FROM like_example 
  WHERE subject LIKE ANY ('%Jo%oe%','T%e')
  ORDER BY subject;
+-------------+
| SUBJECT     |
|-------------|
| Joe   Doe   |
| John  Dddoe |
| Tom   Doe   |
+-------------+

Diese Abfrage zeigt, wie ein Escape-Zeichen verwendet wird, um anzugeben, dass ein Zeichen, bei dem es sich normalerweise um einen Platzhalter (‚_‘) handelt, als Literal behandelt werden soll.

SELECT * 
  FROM like_example 
  WHERE subject LIKE ANY ('%J%h%^_do%', 'T%^%e') ESCAPE '^'
  ORDER BY subject;
+-----------+
| SUBJECT   |
|-----------|
| John_down |
+-----------+