Concatenar dos columnas en MySQL
-
Concatenar columnas usando la función
CONCAT
en MySQL -
Concatenar columnas usando la función
CONCAT_WS
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.
- Uso de la función
CONCAT
- 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 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á:
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á: