2010-12-20 21 views
24

cuando i concat($name, $surname), ¿hay alguna manera de poner un espacio entre el $name $surname usando mi sql no php entonces cuando obtengo el resultado formatea un poco más limpio?mysql función concat

muchas gracias

Respuesta

56

Puede concatenar literales de cadena junto con sus campos, por lo que puede agregar un carácter de espacio en una cadena entre los campos que está concatenando.

Utilice esta:

CONCAT(name, " ", surname) 

Esta funcionalidad se documenta claramente en la MySQL manual page for the CONCAT() function.

También existe el CONCAT_WS function que le permite especificar un separador para ser utilizado entre cada uno de los otros campos pasados ​​a la función. Si está concatenando más de dos campos de la misma manera, esta función se puede considerar más limpia que repetir el separador entre cada campo.

Por ejemplo, si desea agregar un campo de nombre, se puede usar esta función para especificar el separador de una sola vez:

CONCAT_WS(" ", first_name, middle_name, surname) 
16

Simplemente añada un espacio allí.

SELECT CONCAT(name,' ',surname) AS full_name FROM table; 

EDITAR Vaya, mala ortografía allí ...; p

+0

1 : Vencerme por 14 segundos –

+0

@OMGPonies: voy con suerte en este caso. ;-) –

+0

+1. Solo para estar seguro, expandiría esto a: 'CONCAT (COALESCE (nombre, ''), '', COALESCE (apellido, ''))' –

0

Uso CONCAT(name, ' ', surname).

4

usar esto, no hay dependencias de la versión

concat(name,Char(32),venue) 
0

después probar este he intentado hacer esto

concat(name, _utf8 ' ' ,name1) 
+0

¿Responde esto a la pregunta? – Rico

+0

sí en lugar del uso del espacio _utf8 '' – Shivling

0

Hey yo tenía el mismo problema y esto es lo que solía y se r eally funcionó de maravilla

CONCAT (columna 1,"", columna2) el problema es agregar espacio físico entre los cortes dobles ('') utilizando la barra espaciadora del teclado y luego eso es todo

+0

¿Qué tiene de diferente la comparación con las respuestas de hace algunos años? – patricksweeney