Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Función CONCAT() de MySQL

La función `CONCAT()` de MySQL se utiliza para concatenar dos o más cadenas en una sola. Es útil para crear una salida de cadena unificada a partir de varios campos o valores.

Utilización

La función `CONCAT()` se utiliza a menudo para fusionar cadenas de diferentes columnas o variables, mejorando la presentación de los datos en las consultas. Puede manejar cualquier número de argumentos, devolviendo `NULL` si algún argumento es `NULL`.

CONCAT(string1, string2, ...);

En esta sintaxis, `cadena1`, `cadena2`, etc., representan las cadenas o valores de columna que hay que concatenar. Ten en cuenta que los valores numéricos dentro de `CONCAT()` se convierten automáticamente en cadenas.

Ejemplos

1. Concatenación básica

SELECT CONCAT('Hello', ' ', 'World') AS greeting;

Este ejemplo concatena las cadenas `'Hola'`, `' '`, y `'Mundo'`, dando como resultado la salida: `Hola Mundo`.

2. Concatenar columnas

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

Aquí, la función `CONCAT()` combina las columnas `nombre` y `apellido` con un espacio intermedio, creando un nombre completo para cada empleado.

3. Concatenar con otras funciones

SELECT CONCAT(first_name, ' ', last_name, ' - ', UPPER(job_title)) AS full_details
FROM employees;

Este ejemplo concatena "nombre", "apellido" y la versión en mayúsculas de "cargo", separados por espacios y un guión, ofreciendo una cadena formateada para cada empleado.

4. Manejo de valores nulos

SELECT CONCAT(IFNULL(first_name, ''), ' ', IFNULL(last_name, '')) AS full_name
FROM employees;

Este ejemplo utiliza `IFNULL()` para sustituir los valores `NULL` por una cadena vacía, garantizando que los resultados concatenados no sean `NULL`.

Consejos y buenas prácticas

  • Maneja los valores NULL. Utiliza `IFNULL()` o `COALESCE()` para sustituir los valores `NULL` y asegurarte de que `CONCAT()` devuelve los resultados esperados.
  • Utiliza los separadores con prudencia. Incluye espacios u otros caracteres entre las cadenas concatenadas para facilitar la lectura.
  • Optimiza el rendimiento. Minimiza el número de campos concatenados siempre que sea posible, especialmente en conjuntos de datos grandes. Considera el impacto de concatenar campos de texto grandes y utiliza índices u otras técnicas de optimización si es necesario.
  • Considera los tipos de datos. Asegúrate de que los tipos de datos son apropiados para la concatenación; convierte los números en cadenas si es necesario utilizando `CAST()` o `CONVERT()`.
  • Explora alternativas. La función `CONCAT_WS()` te permite especificar un separador entre cadenas, lo que puede ser útil para una concatenación más controlada.

Contexto adicional

  • MySQL convierte automáticamente los valores numéricos en cadenas dentro de `CONCAT()`.
  • En algunos sistemas SQL, `CONCAT()` puede no devolver `NULL` si algún argumento es `NULL`, lo que difiere del comportamiento de MySQL.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis