117 votes

MySQL, concaténer deux colonnes

Il y a deux colonnes dans une table MySQL : SUBJECT et YEAR.

Je veux générer un nombre alphanumérique unique qui contient les données concaténées du SUJET et de L'ANNÉE.

Comment je peux faire ça ? Est-il possible d'utiliser un opérateur simple comme + ?

222voto

Mischa Points 26200

Vous pouvez utiliser la fonction CONCAT comme ceci :

SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`

Mise à jour :

Pour obtenir ce résultat, vous pouvez essayer ceci :

SET @rn := 0;

SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`

3voto

Faridul Khan Points 174

Dans la requête, fonction CONCAT_WS().

Cette fonction n'ajoute pas seulement plusieurs valeurs de chaîne et en fait une valeur de chaîne unique. Il vous permet également de définir un séparateur ( "" , ",", "–", "_ ", etc.).

Syntaxe –

CONCAT_WS( SEPERATOR, column1, column2, ... )

Exemple

SELECT 
topic, 
CONCAT_WS( " ", subject, year ) AS subject_year 
FROM table

1voto

Shamsdine Ndaw Points 11

J'ai deux colonnes : prenom et nom donc pour concaténer dans une colonne avec nom chauffeur_sortant j'ai utilisé ce script :

SELECT date as depart, retour, duree_mission, duree_utilisation, difference, observation, concat( tb_chaufeur_sortant.prenom, ' ', tb_chaufeur_sortant.nom) as chauffeur_sortant, concat(tb_chaufeur_entrant.prenom, ' ', tb_chaufeur_entrant.nom) as chauffeur_entrant
FROM tb_passation 
    INNER JOIN tb_vehicule 
         ON tb_vehicule.id = tb_passation.id_vehicule
    INNER JOIN tb_chaufeur_sortant 
         ON tb_chaufeur_sortant.id = tb_passation.id_sortant
    INNER JOIN tb_chaufeur_entrant 
         ON tb_chaufeur_entrant.id = tb_passation.id_entrant WHERE tb_vehicule.id = '';

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X