Concaténer deux colonnes dans MySQL
-
Concaténer des colonnes à l’aide de la fonction
CONCAT
dans MySQL -
Concaténer des colonnes à l’aide de la fonction
CONCAT_WS
dans MySQL
Cet article vous montrera différentes manières de concaténer les données de deux colonnes dans MySQL
. Cette tâche peut facilement être accomplie par programme en sélectionnant des champs dans une table MySQL
et en stockant leurs valeurs dans une variable après avoir concaténé leurs valeurs.
Il est possible de simplifier la procédure ci-dessus en concaténant les valeurs lorsque vous sélectionnez des lignes dans la table de base de données.
Prenons maintenant un exemple simple. Si vous avez deux colonnes distinctes dans la base de données en tant que prénom et nom et que vous souhaitez afficher la valeur dans les deux colonnes sous la forme d’un nom complet à chaîne unique, vous pouvez utiliser l’une des deux approches données pour accomplir votre tâche. De même, si une adresse est divisée en plusieurs colonnes dans une base de données et que vous la souhaitez comme une seule adresse, y compris la ville, l’état et le pays dans votre application, la fonction CONCAT
serait très utile.
Deux fonctions différentes peuvent être utilisées pour accomplir cette tâche.
- Utilisation de la fonction
CONCAT
- Utilisation de la fonction
CONCAT_WS
Les fonctions CONCAT()
et CONCAT_WS()
concatènent deux chaînes ou plus. Ces deux fonctions diffèrent car la fonction CONCAT_WS()
fonctionne avec un séparateur entre les chaînes, alors que la fonction CONCAT()
ne permet pas l’utilisation de séparateurs. Il existe une autre différence significative entre ces fonctions en ce que la fonction CONCAT()
renvoie la valeur NULL
si l’un des arguments est NULL
. En revanche, la fonction CONCAT_WS()
renvoie la valeur NULL
uniquement si le séparateur est NULL
.
Le script suivant crée une table student
avec quatre colonnes (sid
, firstname
, lastname
et email
).
CREATE TABLE student (sid INT, firstname VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, email VARCHAR(55) NOT NULL);
Ici, nous insérons des exemples de valeurs de données dans la table des étudiants pour la démonstration.
INSERT INTO student
VALUES (111,'Sim','Marlw','sim.marlw@gmail.com'),
(124,'John','Carl','John.carl@gmail.com'),
(362,'Paul','cohelo','paul.coh@google.com'),
(244,'Lunas','sen','Lonas.sen@max.com');
INSERT INTO student
VALUES (114,'Jaine','Kora','jaine.kora@abs.com'),
(615,'Roma','Sholy','roma.sh11@yahoo.com'),
(997,'Beaon','shrlon','beatrice.ss22@yahoo.com'),
(332,'Peter','cohelo','peter.coh@google.com');
La requête ci-dessous renvoie toutes les données de la table des étudiants :
SELECT * FROM student order by sid;
Concaténer des colonnes à l’aide de la fonction CONCAT
dans MySQL
La fonction CONCAT
peut concaténer ou combiner des valeurs de plusieurs colonnes en une seule colonne. La syntaxe de la fonction CONCAT
est la suivante :
CONCAT(Column 1, column 2,......)
Nous allons maintenant voir comment l’utiliser avec la requête SELECT
:
SELECT sid, CONCAT(firstname, " ", lastname) AS fullname FROM student;
La sortie sera :
Remarque : la table d’origine n’est pas mise à jour. Une requête select
peut être utilisée pour afficher le contenu sur l’invite.
Concaténer des colonnes à l’aide de la fonction CONCAT_WS
dans MySQL
La fonction CONCAT_WS
peut également concaténer ou combiner des valeurs de plusieurs colonnes en une seule colonne. Il a une fonctionnalité supplémentaire pour ajouter des séparateurs avec des valeurs de colonne ou des chaînes. Ce séparateur peut être une virgule (,), un trait d’union (-), un trait de soulignement (_) ou toute chaîne ou motif statique comme (***), etc. La syntaxe d’une fonction CONCAT_WS
est la suivante :
CONCAT_WS(SEPARATOR,Column 1, column 2,......)
Nous allons maintenant voir comment l’utiliser avec la requête SELECT
:
SELECT sid, CONCAT_WS( "_", firstname, lastname,"***" ) AS fullname FROM student;
La sortie sera :