Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

CONTAINS

Gibt „true“ zurück, wenn Ausdruck expr1 in Ausdruck expr2 enthalten ist. Beide Ausdrücke müssen aus Text- oder Binärausdrücken bestehen.

Tipp

Sie können den Suchoptimierungsdienst verwenden, um die Leistung von Abfragen zu verbessern, die diese Funktion aufrufen. Weitere Details dazu finden Sie unter Search optimization service.

Syntax

CONTAINS( <expr1> , <expr2> )
Copy

Argumente

expr1

Die Zeichenfolge, in der gesucht werden soll.

expr2

Die Zeichenfolge, nach der gesucht werden soll.

Rückgabewerte

Gibt einen BOOLEAN-Wert oder NULL zurück.

  • Gibt TRUE zurück, wenn expr2 innerhalb von expr1 gefunden wird.

  • Gibt FALSE zurück, wenn expr2 nicht innerhalb von expr1 gefunden wird.

  • Gibt NULL zurück, wenn einer der Eingabeausdrücke NULL ist.

Nutzungshinweise

Für Vergleiche, die eine Zeichenfolge mit mehr als einem bestimmten Muster zusammenfassen, können Sie die folgenden Funktionen verwenden:

Sortierungsdetails

The collation specifications of all input arguments must be compatible.

Diese Funktion bietet keine Unterstützung für folgende Sortierungsspezifikationen:

  • pi (ohne Beachtung der Interpunktion)

  • cs-ai (Beachtung von Groß-/Kleinschreibung, keine Beachtung von Akzenten)

Beispiele

Diese Beispiele verwenden die Funktion CONTAINS.

Ermitteln, ob Spaltenwerte eine Zeichenfolge enthalten

Erstellen einer Tabelle mit einer einzigen Spalte, die Zeichenfolge-Werte enthält.

CREATE OR REPLACE TABLE strings_test (s VARCHAR);

INSERT INTO strings_test values
  ('coffee'),
  ('ice tea'),
  ('latte'),
  ('tea'),
  (NULL);

SELECT * from strings_test;
Copy
+---------+
| S       |
|---------|
| coffee  |
| ice tea |
| latte   |
| tea     |
| NULL    |
+---------+

Ermitteln , ob die Werte in der Spalte s die Zeichenfolge te enthalten:

SELECT * FROM strings_test WHERE CONTAINS(s, 'te');
Copy
+---------+
| S       |
|---------|
| ice tea |
| latte   |
| tea     |
+---------+

CONTAINS mit Sortierung verwenden

Im folgenden Beispiel gibt CONTAINS unterschiedliche Ergebnisse für dieselben Argumentwerte mit unterschiedlichen Sortierungsspezifikationen zurück.

SELECT CONTAINS(COLLATE('ñ', 'en-ci-ai'), 'n'),
       CONTAINS(COLLATE('ñ', 'es-ci-ai'), 'n');
Copy
+-----------------------------------------+-----------------------------------------+
| CONTAINS(COLLATE('Ñ', 'EN-CI-AI'), 'N') | CONTAINS(COLLATE('Ñ', 'ES-CI-AI'), 'N') |
|-----------------------------------------+-----------------------------------------|
| True                                    | False                                   |
+-----------------------------------------+-----------------------------------------+