Je ne connais pas d'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 n'a pas marché. Quel opérateur dois-je utiliser pour concaténer des chaînes?
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 ANSI standard, pris en charge par la plupart des bases de données (notamment not MS SQL Server ). MySQL le supporte aussi, mais vous devez d'abord SET sql_mode='PIPES_AS_CONCAT';
.
La fonction MySQL CONCAT est utilisée pour concaténer deux chaînes afin de 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 mieux comprendre la fonction CONCAT, considérons une table employee_tbl contenant 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 dans l'utilisation de concat
est que vous pouvez transmettre différentes colonnes de type de données et des représentations de chaîne de concaténation
SELECT concat('XXX', 10.99, 'YYY', 3, 'ZZZ', now(3)) as a;
Sortie
une
-----
XXX10.99YYY3ZZZ2018-09-21 15: 20: 25.106