J'utilise MySQL et MySQL Workbench 5.2 CE. Quand j'essaye de concaténer 2 colonnes, last_name
et first_name
ça ne fonctionne pas:
select first_name + last_name as "Name" from test.student
J'utilise MySQL et MySQL Workbench 5.2 CE. Quand j'essaye de concaténer 2 colonnes, last_name
et first_name
ça ne fonctionne pas:
select first_name + last_name as "Name" from test.student
Réponses:
MySQL est différent de la plupart des SGBD utilisant +
ou ||
pour la concaténation. Il utilise la CONCAT
fonction:
SELECT CONCAT(first_name, " ", last_name) AS Name FROM test.student
Comme @eggyal l'a souligné dans les commentaires, vous pouvez activer la concaténation de chaînes avec l' ||
opérateur dans MySQL en définissant le PIPES_AS_CONCAT
mode SQL.
||
la concaténation de chaînes, lorsque le PIPES_AS_CONCAT
mode SQL est activé.
Doctrine
, j'ai dû utiliser des guillemets simples pour l'espace entre CONCAT
et des guillemets doubles autour de toute la requête.
PIPES_AS_CONCAT
: SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',PIPES_AS_CONCAT');
. Pour désinitialiser: SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'PIPES_AS_CONCAT', '');
. Plus d'exemples sur mariadb.com/kb/en/library/sql-mode/#examples
Ce n'est pas la manière de concaténer dans MYSQL. Utilisez la fonction CONCAT Regardez ici: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat