Concatenar dos columnas en MySQL

Sweety Rupani 30 enero 2023
  1. Concatenar columnas usando la función CONCAT en MySQL
  2. Concatenar columnas usando la función CONCAT_WS en MySQL
Concatenar dos columnas en MySQL

Este artículo le mostrará varias formas de concatenar datos de dos columnas en MySQL. Esta tarea se puede realizar fácilmente mediante programación seleccionando campos de una tabla MySQL y almacenando sus valores en una variable después de concatenar sus valores.

Es posible simplificar el procedimiento anterior concatenando los valores a medida que selecciona filas de la Tabla de la base de datos.

Tomemos ahora un ejemplo sencillo. Si tiene dos columnas separadas en la base de datos como nombre y apellido y desea mostrar el valor en ambas columnas como un nombre completo de una sola cadena, puede usar uno de los dos enfoques dados para realizar su tarea. De manera similar, si una dirección se divide en varias columnas en una base de datos y la desea como una única dirección, incluida la ciudad, el estado y el país en su aplicación, entonces la función CONCAT sería muy útil.

Se pueden utilizar dos funciones diferentes para realizar esta tarea.

  1. Uso de la función CONCAT
  2. Uso de la función CONCAT_WS

Ambas funciones CONCAT() y CONCAT_WS() concatenan dos o más cadenas. Estas dos funciones se diferencian porque la función CONCAT_WS() trabaja junto con un separador entre cadenas, mientras que la función CONCAT() no permite el uso de separadores. Hay otra diferencia significativa entre estas funciones en que la función CONCAT() devuelve el valor NULL si alguno de los argumentos es NULL. Por el contrario, la función CONCAT_WS() devuelve el valor NULL solo si el separador es NULL.

El siguiente script crea una tabla Student con cuatro columnas (sid, firstname, lastname y email).

CREATE TABLE student (sid INT, firstname VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, email VARCHAR(55) NOT NULL);

Aquí, insertamos valores de datos de muestra en la tabla de estudiantes para la demostración.

INSERT INTO student 
VALUES (111,'Sim','Marlw','sim.marlw@gmail.com'),
(124,'John','Carl','John.carl@gmail.com'),
(362,'Paul','cohelo','paul.coh@google.com'),
(244,'Lunas','sen','Lonas.sen@max.com');

INSERT INTO student 
VALUES (114,'Jaine','Kora','jaine.kora@abs.com'),
(615,'Roma','Sholy','roma.sh11@yahoo.com'),
(997,'Beaon','shrlon','beatrice.ss22@yahoo.com'),
(332,'Peter','cohelo','peter.coh@google.com');

La consulta dada a continuación devuelve todos los datos de la tabla de estudiantes:

SELECT * FROM student order by sid; 

concatenar dos columnas en mysql - ejemplo

Concatenar columnas usando la función CONCAT en MySQL

La función CONCAT puede concatenar o combinar valores de varias columnas en una sola columna. La sintaxis de la función CONCAT es la siguiente:

CONCAT(Column 1, column 2,......)

Ahora veremos cómo usar esto con la consulta SELECT:

SELECT sid, CONCAT(firstname, " ", lastname) AS fullname FROM student;

La salida será:

concatenar dos columnas en mysql - usando concat

Nota: la tabla original no se actualiza. Se puede utilizar una consulta de selección para mostrar el contenido de la solicitud.

Concatenar columnas usando la función CONCAT_WS en MySQL

La función CONCAT_WS también puede concatenar o combinar valores de varias columnas en columnas individuales. Tiene una función adicional para agregar separadores junto con valores de columna o cadenas. Este separador puede ser una coma (,), un guión (-), un guión bajo (_) o cualquier cadena o patrón estático como (***), etc. La sintaxis de una función CONCAT_WS es la que se muestra a continuación:

CONCAT_WS(SEPARATOR,Column 1, column 2,......)

Ahora veremos cómo usar esto con la consulta SELECT:

SELECT sid, CONCAT_WS( "_", firstname, lastname,"***" ) AS fullname FROM student;

La salida será:

concatenar dos columnas en mysql - usando concat_ws