La función CONCAT
se usa para unir dos o más cadenas. La sintaxis básica es:
SELECT CONCAT(cadena1, cadena2, ..., cadenaN) AS resultado;
Supongamos que tienes una tabla llamada usuarios
con las columnas nombre
y apellido
. Para concatenar el nombre y el apellido en una sola columna, puedes usar:
SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo FROM usuarios;
Este comando concatenará el nombre y el apellido con un espacio entre ellos.
La función CONCAT_WS
(Concatenate With Separator) funciona de manera similar a CONCAT
, pero permite especificar un separador entre las cadenas. La sintaxis es:
SELECT CONCAT_WS(separador, cadena1, cadena2, ..., cadenaN) AS resultado;
Usando la misma tabla usuarios
, si deseas concatenar nombre
y apellido
con una coma y un espacio como separador, puedes usar:
SELECT CONCAT_WS(', ', nombre, apellido) AS nombre_completo FROM usuarios;
Esto generará resultados como "Juan, Pérez".
En algunas versiones de MySQL, también puedes usar el operador ||
para concatenar cadenas. Sin embargo, esta característica puede no estar habilitada por defecto y puede depender de la configuración del servidor.
SELECT nombre || ' ' || apellido AS nombre_completo FROM usuarios;
Además de concatenar columnas, también puedes concatenar literales de texto directamente con columnas de la tabla.
Si quieres agregar un título antes del nombre completo:
SELECT CONCAT('Sr./Sra. ', nombre, ' ', apellido) AS nombre_completo FROM usuarios;
Esto agregará "Sr./Sra." antes de cada nombre completo.
Puedes usar CONCAT
en cláusulas WHERE
, ORDER BY
, y en cualquier otro lugar donde se permita una expresión.
Para buscar usuarios cuyo nombre completo contenga una subcadena específica:
SELECT * FROM usuarios WHERE CONCAT(nombre, ' ', apellido) LIKE '%Juan Pérez%';
||
: Alternativa para concatenar cadenas en algunas versiones de MySQL.
Estas funciones y operadores permiten manipular y combinar cadenas de texto de manera flexible en tus consultas MySQL, adaptándose a diferentes necesidades de concatenación.
Jorge García
Fullstack developer