Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment concaténer des chaînes dans MySQL avec CONCAT()

MySQL a le CONCAT() fonction, qui vous permet de concaténer deux chaînes ou plus. La fonction autorise en fait un ou plusieurs arguments, mais son utilisation principale est de concaténer deux chaînes ou plus.

Dans MySQL (et dans tout environnement de programmation informatique), la concaténation de chaînes est l'opération consistant à joindre des chaînes de caractères de bout en bout.

Voici un exemple :

SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';

Résultat :

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Notez que j'ai en fait concaténé 3 chaînes ici. J'ai concaténé le prénom, le nom de famille, plus un espace.

Si je n'avais pas ajouté d'espace, cela aurait ressemblé à ceci :

SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';

Résultat :

+--------------+
| Full Name    |
+--------------+
| HomerSimpson |
+--------------+

Ce qui peut ou non être le résultat que vous recherchez.

Donc, si nous appliquons ceci à une base de données, la requête pourrait ressembler à ceci :

SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Résultat :

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Si vous concaténez plus de deux chaînes et que vous avez besoin d'un espace (ou d'un autre séparateur), envisagez d'utiliser le CONCAT_WS() une fonction. Cela vous permet de spécifier un séparateur à utiliser entre chaque chaîne. Vous n'avez besoin de spécifier le séparateur qu'une seule fois, et il est utilisé sur chaque chaîne concaténée, ce qui vous évite d'avoir à le retaper entre chaque chaîne.

Arguments NULL

Le CONCAT() la fonction renvoie NULL si un argument est NULL .

Exemple :

SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Résultat :

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

Chaînes binaires vs chaînes non binaires

La documentation MySQL indique :

Si tous les arguments sont des chaînes non binaires, le résultat est une chaîne non binaire. Si les arguments incluent des chaînes binaires, le résultat est une chaîne binaire. Un argument numérique est converti en sa forme de chaîne non binaire équivalente.