Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

CONCAT_WS

Verkettet zwei oder mehr Zeichenfolgen bzw. verkettet zwei oder mehr Binärwerte und verwendet das erste Argument als Trennzeichen zwischen den folgenden Zeichenfolgen.

Bemerkung

Im Gegensatz zu einigen Implementierungen der CONCAT_WS-Funktion überspringt die Snowflake-CONCAT_WS nicht NULL-Werte.

Siehe auch:

CONCAT

Syntax

CONCAT_WS( <separator> , <expression> [ , <expression> ... ] )
Copy

Argumente

separator

Das Trennzeichen muss die gleichen Anforderungen erfüllen wie expression.

expression

Die Eingabeausdrücke müssen entweder aus reinen Zeichenfolgen oder aus reinen Binärwerten bestehen.

Rückgabewerte

Die Funktion gibt einen VARCHAR- oder BINARY-Wert zurück, der die Argumente 2 bis N enthält, die durch das erste Argument getrennt sind.

Wenn eines der Argumente NULL ist, gibt die Funktion NULL zurück.

Der Datentyp des zurückgegebenen Wertes entspricht dem Datentyp des Eingabewerts.

Nutzungshinweise

  • Metadatenfunktionen wie GET_DDL akzeptieren nur Konstanten als Eingabe. Verkettete Eingaben generieren einen Fehler.

  • CONCAT_WS setzt Trennzeichen zwischen den Argumenten, außer nach dem letzten Argument. Wenn CONCAT_WS mit nur einem Argument nach dem Trennzeichen aufgerufen wird, wird kein Trennzeichen angehängt.

Sortierungsdetails

Beispiele

Rufen Sie die CONCAT_WS-Funktion auf, um drei Zeichenfolgen mit einem Komma-Trennzeichen zu verketten:

SELECT CONCAT_WS(',', 'one', 'two', 'three');
Copy
+---------------------------------------+
| CONCAT_WS(',', 'ONE', 'TWO', 'THREE') |
|---------------------------------------|
| one,two,three                         |
+---------------------------------------+

Das folgende Beispiel zeigt, dass, die Funktion NULL zurückgibt, wenn ein Argument NULL lautet:

SELECT CONCAT_WS(',', 'one', NULL, 'two');
Copy
+------------------------------------+
| CONCAT_WS(',', 'ONE', NULL, 'TWO') |
|------------------------------------|
| NULL                               |
+------------------------------------+

Das folgende Beispiel zeigt, dass die ist CONCAT_WS-Funktion kein Trennzeichen anhängt, wenn nur eine Zeichenfolge für die Verkettung vorhanden ist:

SELECT CONCAT_WS(',', 'one');
Copy
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one                   |
+-----------------------+