Volver a la página principal
martes 16 julio 2024
92

Cómo concatenar en MySQL

Función CONCAT

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;

Ejemplo:

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.

Función CONCAT_WS

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;

Ejemplo:

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".

Operador de concatenación ||

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.

Ejemplo:

SELECT nombre || ' ' || apellido AS nombre_completo FROM usuarios;

Uso de la función CONCAT con literales y columnas

Además de concatenar columnas, también puedes concatenar literales de texto directamente con columnas de la tabla.

Ejemplo:

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.

Concatenación en consultas más complejas

Puedes usar CONCAT en cláusulas WHERE, ORDER BY, y en cualquier otro lugar donde se permita una expresión.

Ejemplo:

Para buscar usuarios cuyo nombre completo contenga una subcadena específica:

SELECT * FROM usuarios WHERE CONCAT(nombre, ' ', apellido) LIKE '%Juan Pérez%';

Resumen

  • CONCAT: Une varias cadenas en una sola.
  • CONCAT_WS: Une varias cadenas con un separador específico entre ellas.
  • Operador ||: 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.

Etiquetas:
mysql sql
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer