Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
La fonction CONCAT concatène deux expressions et renvoie l’expression résultante. Pour concaténer plus de deux expressions, utilisez les fonction CONCAT imbriquées. L’opérateur de concaténation (||
) entre deux expressions donne les mêmes résultats que la fonction CONCAT.
Syntaxe
CONCAT ( expression1, expression2 )
Arguments
- expression1, expression2
-
Les deux arguments peuvent être une chaîne de caractères de longueur fixe, une chaîne de caractères de longueur variable, une expression binaire ou une expression qui a pour résultat l’une de ces entrées.
Type de retour
CONCAT renvoie une expression. Le type de données de l’expression est le même que celui des arguments d’entrée.
Si les expressions d’entrée sont de types différents, Amazon Redshift essaie de « convertir » implicitement l’une des expressions. Si des valeurs ne peuvent pas être converties, une erreur est renvoyée.
Notes d’utilisation
Pour la fonction CONCAT et l’opérateur de concaténation, si une expression ou les deux ont la valeur null, le résultat de la concaténation est null.
Exemples
L’exemple suivant concatène deux littéraux caractères :
SELECT CONCAT('December 25, ', '2008');
concat
-------------------
December 25, 2008
(1 row)
La requête suivante, utilisant l’opérateur ||
au lieu de CONCAT, produit le même résultat :
SELECT 'December 25, '||'2008';
?column?
-------------------
December 25, 2008
(1 row)
L’exemple suivant utilise une fonction CONCAT imbriquée dans une autre fonction CONCAT pour concaténer trois chaînes de caractères :
SELECT CONCAT('Thursday, ', CONCAT('December 25, ', '2008'));
concat
-----------------------------
Thursday, December 25, 2008
(1 row)
Pour concaténer des colonnes susceptibles de contenir NULLs, utilisez leFonctions NVL et COALESCE, qui renvoie une valeur donnée lorsqu'il rencontre la valeur NULL. L’exemple suivant utilise NVL pour renvoyer un 0 chaque fois que la valeur NULL est rencontrée.
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 requête suivante concatène les valeurs CITY et STATE de la table VENUE :
SELECT CONCAT(venuecity, venuestate)
FROM venue
WHERE venueseats > 75000
ORDER BY venueseats;
concat
-------------------
DenverCO
Kansas CityMO
East RutherfordNJ
LandoverMD
(4 rows)
La requête suivante utilise des fonctions CONCAT imbriquées. La requête concatène les valeurs CITY et STATE de la table VENUE, mais délimite la chaîne qui en résulte par une virgule et un espace :
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’exemple suivant concatène deux expressions binaires. Où abc
est une valeur binaire (avec une représentation hexadécimale de 616263
) et def
est une valeur binaire (avec une représentation hexadécimale de 646566
). Le résultat est automatiquement affiché sous forme de représentation hexadécimale de la valeur binaire.
SELECT CONCAT('abc'::VARBYTE, 'def'::VARBYTE);
concat
-------------------
616263646566