CONCAT , ||
Concatène une ou plusieurs chaînes ou concatène une ou plusieurs valeurs binaires.
L’opérateur || fournit une syntaxe alternative pour CONCAT et nécessite au moins deux arguments.
- Voir aussi :
CONCAT_WS
Syntaxe
CONCAT( <expr> [ , <expr> ... ] )
<expr> || <expr> [ || <expr> ... ]
Arguments
exprLes expressions d’entrée doivent toutes être des chaînes, ou toutes des valeurs binaires.
Renvoie
Le type de données de la valeur renvoyée est identique à celui des valeurs d’entrée.
Si une valeur d’entrée est NULL, la fonction renvoie NULL.
Notes sur l’utilisation
Les fonctions de métadonnées telles que GET_DDL n’acceptent que les constantes en entrée. L’entrée concaténée génère une erreur.
Exemples
Concaténer deux chaînes :
SELECT CONCAT('George Washington ', 'Carver');
+----------------------------------------+
| CONCAT('GEORGE WASHINGTON ', 'CARVER') |
|----------------------------------------|
| George Washington Carver |
+----------------------------------------+
Concaténer cinq chaînes, en utilisant des variables de session pour trois d’entre elles :
SET var_first_name = 'George';
SET var_middle_name = 'Washington';
SET var_last_name = 'Carver';
SELECT CONCAT($var_first_name, ' ', $var_middle_name, ' ', $var_last_name) AS concat_name;
+--------------------------+
| CONCAT_NAME |
|--------------------------|
| George Washington Carver |
+--------------------------+
Concaténer deux colonnes VARCHAR : Créer une table en premier et insérer des données :
CREATE OR REPLACE TABLE concat_function_example (s1 VARCHAR, s2 VARCHAR, s3 VARCHAR);
INSERT INTO concat_function_example (s1, s2, s3) VALUES
('co', 'd', 'e'),
('Colorado ', 'River ', NULL);
Exécuter une requête :
SELECT CONCAT(s1, s2)
FROM concat_function_example;
+-----------------+
| CONCAT(S1, S2) |
|-----------------|
| cod |
| Colorado River |
+-----------------+
Concaténer plus de deux chaînes :
SELECT CONCAT(s1, s2, s3)
FROM concat_function_example;
+--------------------+
| CONCAT(S1, S2, S3) |
|--------------------|
| code |
| NULL |
+--------------------+
Utilisez la fonction IFF avec la fonction CONCAT pour concaténer des chaînes qui ne sont pas NULL :
SELECT CONCAT(
IFF(s1 IS NULL, '', s1),
IFF(s2 IS NULL, '', s2),
IFF(s3 IS NULL, '', s3)) AS concat_non_null_strings
FROM concat_function_example;
+-------------------------+
| CONCAT_NON_NULL_STRINGS |
|-------------------------|
| code |
| Colorado River |
+-------------------------+
Utiliser l’opérateur de concaténation || au lieu de la fonction :
SELECT 'This ' || 'is ' || 'another ' || 'concatenation ' || 'technique.';
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique. |
+--------------------------------------------------------------------+