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 Suchoptimierungsdienst.

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                                   |
+-----------------------------------------+-----------------------------------------+