- 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¶
expr1Die Zeichenfolge, in der gesucht werden soll.
expr2Die Zeichenfolge, nach der gesucht werden soll.
Rückgabewerte¶
Gibt einen BOOLEAN-Wert oder NULL zurück.
Gibt TRUE zurück, wenn
expr2innerhalb vonexpr1gefunden wird.Gibt FALSE zurück, wenn
expr2nicht innerhalb vonexpr1gefunden 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 |
+-----------------------------------------+-----------------------------------------+