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.
Funktion CONCAT
Die CONCAT-Funktion verkettet zwei Ausdrücke und gibt den Ergebnisausdruck zurück. Um mehr als zwei Ausdrücke zu verketten, verwenden Sie verschachtelte CONCAT-Funktionen. Der Verkettungsoperator (||
) zwischen zwei Ausdrücken generiert dieselben Ergebnisse wie die CONCAT-Funktion.
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
CONCAT gibt 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
Für die Funktion CONCAT und den Verkettungsoperator gilt, dass das Ergebnis der Verkettung null ist, wenn einer oder beide Ausdrücke null sind.
Beispiele
Im folgenden Beispiel werden zwei Zeichenliterale verkettet:
SELECT CONCAT('December 25, ', '2008');
concat ------------------- December 25, 2008 (1 row)
Die folgende Abfrage verwendet anstelle von ||
den Operator CONCAT und generiert dasselbe Ergebnis:
SELECT 'December 25, '||'2008';
?column? ------------------- December 25, 2008 (1 row)
Im folgenden Beispiel wird eine verschachtelte CONCAT-Funktion innerhalb einer anderen CONCAT-Funktion benutzt, um drei Zeichenfolgen 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 die, die einen bestimmten Wert NULLs zurückgibt, wenn sie auf NVL- und COALESCE-Funktionen NULL trifft. Im folgenden Beispiel wird NVL verwendet, um eine 0 zurückzugeben, wenn NULL gefunden wird.
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- und 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 CONCAT-Funktionen. Die Abfrage verkettet CITY- und STATE-Werte aus der Tabelle, trennt die Ergebniszeichenfolge jedoch durch ein Komma und ein Leerzeichen:
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