- 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:
Syntax¶
CONCAT( <expr> [ , <expr> ... ] )
<expr> || <expr> [ || <expr> ... ]
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¶
The collation specifications of all input arguments must be compatible.
The collation of the result of the function is the highest-precedence collation of the inputs.
Beispiele¶
Verketten Sie zwei Zeichenfolgen:
SELECT CONCAT('George Washington ', 'Carver');
+----------------------------------------+
| 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);
Führen Sie eine Abfrage durch:
SELECT CONCAT(s1, s2)
FROM concat_function_example;
+-----------------+
| CONCAT(S1, S2) |
|-----------------|
| cod |
| Colorado River |
+-----------------+
Verketten Sie mehr als zwei Zeichenfolgen:
SELECT CONCAT(s1, s2, s3)
FROM concat_function_example;
+--------------------+
| 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;
+-------------------------+
| CONCAT_NON_NULL_STRINGS |
|-------------------------|
| code |
| Colorado River |
+-------------------------+
Verwenden Sie den Verkettungsoperator ||
anstelle der Funktion:
SELECT 'This ' || 'is ' || 'another ' || 'concatenation ' || 'technique.';
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique. |
+--------------------------------------------------------------------+