Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
La funzione CONCAT concatena due espressioni e restituisce l'espressione risultante. Per concatenare più di due espressioni, utilizzare le funzioni CONCAT nidificate. L'operatore di concatenazione (||
) tra due espressioni produce gli stessi risultati della funzione CONCAT.
Sintassi
CONCAT ( expression1, expression2 )
Argomenti
- expression1, expression2
-
Entrambi gli argomenti possono essere una stringa di caratteri a lunghezza fissa, una stringa di caratteri a lunghezza variabile, un'espressione binaria o un'espressione che valuta uno di questi input.
Tipo restituito
CONCAT restituisce un'espressione. Il tipo di dati dell'espressione è lo stesso tipo degli argomenti di input.
Se le espressioni di input sono di tipo diverso, Amazon Redshift tenta di digitare implicitamente una delle espressioni. Se non è possibile eseguire il cast di valori, viene restituito il valore nullo.
Note per l'utilizzo
Sia per la funzione CONCAT sia per l'operatore di concatenazione, se una o entrambe le espressioni sono nulle, il risultato della concatenazione è nullo.
Esempi
L'esempio seguente concatena due letterali di caratteri:
SELECT CONCAT('December 25, ', '2008');
concat
-------------------
December 25, 2008
(1 row)
La seguente query, utilizzando l'operatore ||
invece di CONCAT, produce lo stesso risultato:
SELECT 'December 25, '||'2008';
?column?
-------------------
December 25, 2008
(1 row)
L'esempio seguente utilizza una funzione CONCAT nidificata all'interno di un'altra funzione CONCAT per concatenare tre stringhe di caratteri:
SELECT CONCAT('Thursday, ', CONCAT('December 25, ', '2008'));
concat
-----------------------------
Thursday, December 25, 2008
(1 row)
Per concatenare le colonne che potrebbero contenere NULLs, usa, che restituisce un determinato valore quando incontra Funzioni NVL e COALESCE NULL. Il seguente esempio utilizza NVL per restituire uno 0 ogni volta che si incontra NULL.
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)
La query seguente concatena i valori CITY e STATE dalla tabella VENUE:
SELECT CONCAT(venuecity, venuestate)
FROM venue
WHERE venueseats > 75000
ORDER BY venueseats;
concat
-------------------
DenverCO
Kansas CityMO
East RutherfordNJ
LandoverMD
(4 rows)
La seguente query utilizza funzioni CONCAT nidificate. La query concatena i valori CITY e STATE dalla tabella VENUE ma delimita la stringa risultante con una virgola e uno spazio:
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)
L'esempio seguente concatena due espressioni binarie. Dove abc
è un valore binario (con una rappresentazione esadecimale di 616263
) e def
è un valore binario (con rappresentazione esadecimale di 646566
). Il risultato viene visualizzato automaticamente come rappresentazione esadecimale del valore binario.
SELECT CONCAT('abc'::VARBYTE, 'def'::VARBYTE);
concat
-------------------
616263646566