Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CONCATFunktion
Die CONCAT Funktion verkettet zwei Ausdrücke und gibt den resultierenden Ausdruck zurück. Um mehr als zwei Ausdrücke zu verketten, verwenden Sie verschachtelte Funktionen. CONCAT Der Verkettungsoperator (||
) zwischen zwei Ausdrücken führt zu denselben Ergebnissen wie die Funktion. CONCAT
Syntax
CONCAT ( expression1, expression2 )
Argumente
- expression1, expression2
-
Beide Argumente können eine Zeichenfolge mit fester Länge, eine Zeichenfolge variabler Länge, ein binärer Ausdruck oder ein Ausdruck sein, der für eine dieser Eingaben ausgewertet wird.
Rückgabetyp
CONCATgibt einen Ausdruck zurück. Der Datentyp des Ausdrucks ist derselbe Typ wie die Eingabeargumente.
Wenn es sich bei den Eingabeausdrücken um verschiedene Typen handelt, versucht Amazon Redshift implizit einen der beiden Ausdrücke umzuwandeln. Wenn Werte nicht umgewandelt werden können, wird ein Fehler zurückgegeben.
Nutzungshinweise
Sowohl für die CONCAT Funktion als auch für den Verkettungsoperator gilt: Wenn einer oder beide Ausdrücke Null sind, ist das Ergebnis der Verkettung Null.
Beispiele
Im folgenden Beispiel werden zwei Zeichenliterale verkettet:
SELECT CONCAT('December 25, ', '2008');
concat ------------------- December 25, 2008 (1 row)
Die folgende Abfrage, bei der der ||
Operator anstelle von verwendet wird, führt zu demselben ErgebnisCONCAT:
SELECT 'December 25, '||'2008';
?column? ------------------- December 25, 2008 (1 row)
Im folgenden Beispiel wird eine verschachtelte CONCAT Funktion innerhalb einer anderen CONCAT Funktion verwendet, um drei Zeichenketten zu verketten:
SELECT CONCAT('Thursday, ', CONCAT('December 25, ', '2008'));
concat ----------------------------- Thursday, December 25, 2008 (1 row)
Um Spalten zu verketten, die enthalten könnten, verwenden Sie dieNULLs, die einen bestimmten Wert zurückgibtNVLund COALESCE Funktionen, wenn sie darauf trifft. NULL Das folgende Beispiel verwendetNVL, um bei jedem NULL Treffer eine 0 zurückzugeben.
SELECT CONCAT(venuename, CONCAT(' seats ', NVL(venueseats, 0))) AS seating FROM venue WHERE venuestate = 'NV' OR venuestate = 'NC' ORDER BY 1 LIMIT 5;
seating ----------------------------------- Ballys Hotel seats 0 Bank of America Stadium seats 73298 Bellagio Hotel seats 0 Caesars Palace seats 0 Harrahs Hotel seats 0 (5 rows)
Die folgende Abfrage verkettet CITY STATE Werte aus der Tabelle: VENUE
SELECT CONCAT(venuecity, venuestate) FROM venue WHERE venueseats > 75000 ORDER BY venueseats;
concat ------------------- DenverCO Kansas CityMO East RutherfordNJ LandoverMD (4 rows)
Die folgende Abfrage verwendet verschachtelte Funktionen. CONCAT Die Abfrage verkettet alle STATE Werte aus der VENUE Tabelle, grenzt die resultierende Zeichenfolge jedoch durch ein Komma CITY und ein Leerzeichen ab:
SELECT CONCAT(CONCAT(venuecity,', '),venuestate) FROM venue WHERE venueseats > 75000 ORDER BY venueseats;
concat --------------------- Denver, CO Kansas City, MO East Rutherford, NJ Landover, MD (4 rows)
Im folgenden Beispiel werden zwei Binärausdrücke verkettet. Hierbei ist abc
ein Binärwert (mit einer hexadezimalen Darstellung von 616263
) und def
ein Binärwert (mit einer hexadezimalen Darstellung von 646566
). Das Ergebnis wird automatisch als hexadezimale Darstellung des Binärwerts angezeigt.
SELECT CONCAT('abc'::VARBYTE, 'def'::VARBYTE);
concat ------------------- 616263646566