Opérateur de concaténation MySQL
Je ne connais pas l'opérateur de concaténation pour MySQL.
J'ai essayé ce code pour la concaténation:
SELECT vend_name || ' (' || vend_country || ')'
FROM Vendors
ORDER BY vend_name;
, Mais ça ne fonctionne pas. Quel opérateur dois-je utiliser pour concaténer des chaînes?
6 réponses
Vous utilisiez le type de concaténation ORACLE. MySQL devrait être
SELECT CONCAT(vend_name, '(', vend_country, ')')
Appelez la fonction CONCAT()
et séparez vos valeurs par des virgules.
||
est l'opérateur de concaténation de chaîne standard ANSI, pris en charge par la plupart des bases de données (notamment Pas MS SQL Server). MySQL supporte également, mais vous devez SET sql_mode='PIPES_AS_CONCAT';
d'abord.
MySQL CONCAT fonction est utilisée pour concaténer deux chaînes pour former une seule chaîne. Essayez l'exemple suivant:
mysql> SELECT CONCAT('FIRST ', 'SECOND');
+----------------------------+
| CONCAT('FIRST ', 'SECOND') |
+----------------------------+
| FIRST SECOND |
+----------------------------+
1 row in set (0.00 sec)
Pour comprendre la fonction CONCAT plus en détail, considérons une table employee_tbl qui a les enregistrements suivants:
mysql> SELECT CONCAT(id, name, work_date)
-> FROM employee_tbl;
+-----------------------------+
| CONCAT(id, name, work_date) |
+-----------------------------+
| 1John2007-01-24 |
| 2Ram2007-05-27 |
| 3Jack2007-05-06 |
| 3Jack2007-04-06 |
| 4Jill2007-04-06 |
| 5Zara2007-06-06 |
| 5Zara2007-02-06 |
+-----------------------------+
Vous pouvez simplement utiliser le mot clé CONCAT
pour concaténer les chaînes..
Vous pouvez l'utiliser comme
SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORER BY name;
Ce qui est bien à propos de l'utilisation de concat
, c'est que vous pouvez passer différentes colonnes de type de données et concatter des représentations de chaîne
SELECT concat('XXX', 10.99, 'YYY', 3, 'ZZZ', now(3)) as a;
Sortie
Un
-----
XXX10. 99YYY3ZZZ2018-09-21 15:20:25.106
Vous devez définir des pipes comme concat à chaque fois avant d'exécuter une requête en utilisant des pipes en tant qu'opérateur de concaténation.