Catégories :

Fonctions de chaîne et fonctions binaires (général)

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> ... ]
Copy

Arguments

expr

The input expressions must be all strings, or all binary values.

Renvoie

The data type of the returned value is the same as the data type of the input values.

If any input value is NULL, the function returns 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.

Détails du classement

Exemples

Concaténer deux chaînes :

SELECT CONCAT('George Washington ', 'Carver');
Copy
+----------------------------------------+
| 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;
Copy
+--------------------------+
| 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);
Copy

Exécuter une requête :

SELECT CONCAT(s1, s2)
  FROM concat_function_example;
Copy
+-----------------+
| CONCAT(S1, S2)  |
|-----------------|
| cod             |
| Colorado River  |
+-----------------+

Concaténer plus de deux chaînes :

SELECT CONCAT(s1, s2, s3)
  FROM concat_function_example;
Copy
+--------------------+
| 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;
Copy
+-------------------------+
| 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.';
Copy
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique.                           |
+--------------------------------------------------------------------+