Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

CONCAT, ||

Verkettet eine oder mehrere Zeichenfolgen bzw. verkettet einen oder mehrere Binärwerte.

Der Operator || bietet eine alternative Syntax für CONCAT und erfordert mindestens zwei Argumente.

Siehe auch:

CONCAT_WS

Syntax

CONCAT( <expr> [ , <expr> ... ] )

<expr> || <expr> [ || <expr> ... ]
Copy

Argumente

expr

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

Rückgabewerte

Der Datentyp des zurückgegebenen Wertes entspricht dem Datentyp der Eingabewerte.

Wenn einer der Eingabewerte NULL ist, wird NULL zurückgegeben.

Nutzungshinweise

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

Sortierungsdetails

Beispiele

Verketten Sie zwei Zeichenfolgen:

SELECT CONCAT('George Washington ', 'Carver');
Copy
+----------------------------------------+
| CONCAT('GEORGE WASHINGTON ', 'CARVER') |
|----------------------------------------|
| George Washington Carver               |
+----------------------------------------+

Verketten Sie zwei VARCHAR-Spalten: Erstellen Sie zunächst eine Tabelle und fügen Sie Daten ein:

CREATE OR REPLACE TABLE concat_function_example (s1 VARCHAR, s2 VARCHAR, s3 VARCHAR);
INSERT INTO concat_function_example (s1, s2, s3) VALUES
  ('co', 'd', 'e'),
  ('Colorado ', 'River ', NULL);
Copy

Führen Sie eine Abfrage durch:

SELECT CONCAT(s1, s2)
  FROM concat_function_example;
Copy
+-----------------+
| CONCAT(S1, S2)  |
|-----------------|
| cod             |
| Colorado River  |
+-----------------+

Verketten Sie mehr als zwei Zeichenfolgen:

SELECT CONCAT(s1, s2, s3)
  FROM concat_function_example;
Copy
+--------------------+
| CONCAT(S1, S2, S3) |
|--------------------|
| code               |
| NULL               |
+--------------------+

Verwenden Sie die Funktion IFF mit der Funktion CONCAT, um Zeichenfolgen zu verketten, die nicht NULL sind:

SELECT CONCAT(
    IFF(s1 IS NULL, '', s1),
    IFF(s2 IS NULL, '', s2),
    IFF(s3 IS NULL, '', s3)) AS concat_non_null_strings
  FROM concat_function_example;
Copy
+-------------------------+
| CONCAT_NON_NULL_STRINGS |
|-------------------------|
| code                    |
| Colorado River          |
+-------------------------+

Verwenden Sie den Verkettungsoperator || anstelle der Funktion:

SELECT 'This ' || 'is ' || 'another ' || 'concatenation ' || 'technique.';
Copy
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique.                           |
+--------------------------------------------------------------------+