Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

ENDSWITH

Gibt TRUE zurück, wenn der erste Ausdruck mit dem zweiten Ausdruck endet. 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

ENDSWITH( <expr1> , <expr2> )
Copy

Argumente

expr1

Die Zeichenfolge, in der gesucht werden soll.

expr2

Die Zeichenfolge, nach der am Ende von expr1 gesucht werden soll.

Rückgabewerte

Gibt einen BOOLEAN-Wert oder NULL zurück.

  • Gibt TRUE zurück, wenn expr2 mit expr1 endet.

  • Gibt FALSE zurück, wenn expr2 nicht mit expr1 endet.

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

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

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 Sie, ob die Werte in der Spalte s mit der Zeichenfolge te enden:

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

ENDSWITH mit Sortierung verwenden

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

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