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.
CONCATfonction
La CONCAT fonction concatène deux expressions et renvoie l'expression résultante. Pour concaténer plus de deux expressions, utilisez des fonctions imbriquées. CONCAT L'opérateur de concaténation (||
) entre deux expressions produit 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
CONCATrenvoie 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 CONCAT fonction comme pour l'opérateur de concaténation, si l'une ou les deux expressions sont nulles, le résultat de la concaténation est nul.
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 deCONCAT, produit le même résultat :
SELECT 'December 25, '||'2008';
?column? ------------------- December 25, 2008 (1 row)
L'exemple suivant utilise une fonction imbriquée dans une autre CONCAT CONCAT fonction 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 contenirNULLs, utilisez leNVLet COALESCE fonctions, qui renvoie une valeur donnée lorsqu'il est rencontré. NULL L'exemple suivant permet NVL de renvoyer un 0 chaque fois qu'NULLil est rencontré.
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 STATE valeurs CITY 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 CONCAT fonctions imbriquées. La requête concatène les STATE valeurs CITY de la VENUE table mais délimite la chaîne résultante 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