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