Concatenar campos en MySQL y PHP

Concatenar campos en MySQL y PHP. Hoy aprenderemos a unir o concatenar campos en una consulta en MySQL. Usaremos las funciones CONCAT()
y/o CONCAT_WS()
. Con esto lograremos unir campos y lo veremos en diferentes ejemplos.
Concatenar campos en MySQL y PHP
El comando MySQL CONCAT te permite combinar dos o más strings (cadenas) de caracteres en uno solo. Mientras que MySQL CONCAT no permite ningún delimitador, puedes combinar y mostrar la información de forma aún más ordenada con MySQL CONCAT_WS. Fuente: MySQL
¿Qué lograremos con estas funciones de concatenación?
- Mostrar dos campos en uno solo en la consulta usando la sentencia
SELECT
- Poblar 1 campo a partir de dos campos en MySQL a través de una consulta SQL usando la sentencia UPDATE
a) Mostrar campos concatenados en MySQL
Para mostrar columnas concatenadas podemos usar la función CONCAT()
de la siguiente manera.
SELECT concat(`nombres`,' ',`apellidos` ) as Personal FROM `tbl_personal`;
También, podemos usar la función CONCAT_WS()
, para concatenar campos, pero debemos de colocar un delimitador dentro del contenedor, en este ejemplo hemos colocado un espacio para separar el nombre y apellidos evitando que estén pegados.
SELECT concat_ws(' ',`nombres`,`apellidos` ) as Personal FROM `tbl_personal`;

b) Concatenar campos usando función CONCAT()
Mostramos la sintaxis de la función:
CONCAT (Expresión1, Expresión2, Expresión3, …)
Ejemplos de la función CONCAT()
Si deseamos unir dos campos y depositar esos dos campos en otra columna, déjame decirte que esta es la solución.
UPDATE `tbl_personal` SET `personal`=concat(`nombres`,' ', `apellidos`);
c) Concatenar campos usando función CONCAT_WS
A diferencia de la función anterior esta es más flexible a la hora de manejar múltiples campos, pero debemos de respetar la sintaxis.
Sintaxis de la función CONCAT_WS
CONCAT_WS(separator, expression1, expression2, expression3,...)

Conclusiones
En este articulo hemos aprendido a concatenar campos ya sean para mostrar en una consulta o actualizando registros usando la sentencia UPDATE de MySQL.
Estas 2 funciones que hemos mostrado funcionan a la perfección, pero me inclino por la función CONCAT_WS()
por ser más flexible a la hora de manejar múltiples concatenaciones.
Espero que este articulo les haya ayudado en su proyecto, saludos.