- 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> )
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 vonexpr1
gefunden wird.Gibt FALSE zurück, wenn
expr2
nicht innerhalb vonexpr1
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;
+---------+
| 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');
+---------+
| 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');
+-----------------------------------------+-----------------------------------------+
| CONTAINS(COLLATE('Ñ', 'EN-CI-AI'), 'N') | CONTAINS(COLLATE('Ñ', 'ES-CI-AI'), 'N') |
|-----------------------------------------+-----------------------------------------|
| True | False |
+-----------------------------------------+-----------------------------------------+