2011-05-31 65 views
12

tratando de concatenar 3 columnas en una consulta de selección para mostrar en una columna en los resultados. la columna se llama DelPostalName y por alguna razón siempre muestra un '0' cuando ejecuto la consulta de selección. como si tratara de sumar las cuerdas, pero no hay números reales para agregar. He estado buscando en Google la concatenación de cadenas y esta parece ser la sintaxis correcta. ¿algunas ideas? mysql cadena concatenación devuelve 0

 
isc_orders.ordShipFirstName + ' ' + isc_orders.ordshiplastname + isc_orders.ordshipcompany as DelPostalName, 

Respuesta

27

El resultado aparece como cero ya que está tratando de agregar aritméticamente las cuerdas entre sí.

El método correcto para concatenar cadenas en MySQL es usar la función CONCAT(str1, str2, str3).

Here es el manual para la función.

PD: si quieres concate con un separador de uso CONCAT_WS() - también en el mismo manual

1

Pruebe usar concat para concatenar columnas/cadenas.

0

Creo que se debe utilizar para la concatenación concat, no + :)

3

Debe utilizar CONCAT (como una algunas personas han mencionado) como esto:

CONCAT(isc_orders.ordShipFirstName,' ', 
isc_orders.ordshiplastname,' ', 
isc_orders.ordshipcompany) 
AS DelPostalName