2011-05-12 19 views
58

Estoy usando MySQL y MySQL Workbench 5.2 CE. Cuando intento para concatenar 2 columnas, last_name y first_name, no funciona:Concatenación de cadenas en MySQL

select first_name + last_name as "Name" from test.student 
+1

:) vea qué tan rápido tiene las respuestas! – Nishant

+0

cant + símbolo se puede utilizar, sí, yo obtuve d resultado, gracias a todos :) – Roshan

+1

@Nishant: en solo 3 minutos. –

Respuesta

129

MySQL es diferente de la mayoría de los DBMS uso + o || para la concatenación. Utiliza la función CONCAT:

SELECT CONCAT(first_name, " ", last_name) AS Name FROM test.student 

Como @eggyal se señala en los comentarios, puede activar la concatenación de cadenas con el operador || en MySQL ajustando el modo PIPES_AS_CONCAT SQL.

+6

Mejor respuesta, explica que MySQL no usa operadores de concatenación. – DonBecker

+16

Ten en cuenta que esto no es * completamente * cierto: MySQL * does * admite '||' para la concatenación de cadenas, cuando el ['PIPES_AS_CONCAT'] (http://dev.mysql.com/doc/en/server-sql-mode .html # sqlmode_pipes_as_concat) El modo SQL está habilitado. – eggyal

+1

Para aquellos que usan 'Doctrine', tuve que usar comillas simples para el espacio en' CONCAT', y comillas dobles para toda la consulta. – craned

21

Probar:

select concat(first_name,last_name) as "Name" from test.student 

, o mejor:

select concat(first_name," ",last_name) as "Name" from test.student 
5

Uso concat() función en lugar de + así:

select concat(firstname, lastname) as "Name" from test.student 
Cuestiones relacionadas