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

The input expressions must be all strings, or all binary values.

Rückgabewerte

The data type of the returned value is the same as the data type of the input values.

If any input value is NULL, the function returns NULL.

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 fünf Zeichenfolgen mithilfe von Sitzungsvariablen für drei davon:

SET var_first_name = 'George';
SET var_middle_name = 'Washington';
SET var_last_name = 'Carver';

SELECT CONCAT($var_first_name, ' ', $var_middle_name, ' ', $var_last_name) AS concat_name;
Copy
+--------------------------+
| CONCAT_NAME              |
|--------------------------|
| 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.                           |
+--------------------------------------------------------------------+