La función SQL CONCAT le ayuda a concatenar el contenido de varias columnas para obtener como resultado una sola cadena de caracteres. Esta función SQL puede ser útil para poner los valores de varias columnas de extremo a extremo para mostrar solo una. Por lo tanto, es útil mostrar un resultado fácil de leer mientras se mantienen los datos en varias columnas para un buen mantenimiento de los datos.
Sintaxis SQL CONCAT
Para concatenar varias cadenas de caracteres en SQL server, se debe utilizar una consulta SQL con la siguiente sintaxis:
CONCAT( columna1, columna2 )Vale la pena señalar que la función puede tomar más de 2 parámetros (excepto Oracle).
Usando SQL CONCAT() en un SELECT
La sintaxis de la función CONCAT() se puede usar en una consulta cuando se muestran datos usando una consulta que sigue esta sintaxis:
Ejemplo SQL: CONCAT en SELECT
SELECT id, CONCAT(columna1, columna2)
FROM `tabla`; -- Concatenar columna1 y columna2
Usando CONCAT() en un WHERE
También es posible usar esta función en una cláusula WHERE tomando por ejemplo una sintaxis similar a esta:
Ejemplo SQL: CONCAT en SELECT
SELECT id, CONCAT(columna1, columna2)
FROM `tabla`; -- Concatenar columna1 y columna2
Características de la función SQL Concat():
- Requiere al menos dos argumentos para realizar la concatenación; si tiene menos de dos, no se ejecuta la función de forma correcta, por lo que va a tener un error.
- Convierte todos los argumentos en tipos cadena antes de la concatenación.
- Funciona implícitamente convierte valores nulos en cadenas vacías
- Si se proporciona un valor NULL como argumento en la función Concat n, devolverá una cadena vacía de tipo varchar (1)
Ejemplo-1: SQL Concatenar dos cadena
Imaginemos que queremos mostrar el nombre seguido del apellido. Para ello, es posible utilizar la función CONCAT() con la siguiente consulta SQL
La siguiente consulta concatena las columnas nombre y apellido las cuales se encuentra separada en la tabla Empleado.
Ejemplo SQL: CONCAT de Nombre y Apellido
SELECT ID, CONCAT(Nombre, ' ', Apellido), Correoelectrónico,
AddressLine, Ciudad, Cargo
FROM Empleado; -- Concatenar Nombre y Apellido

Ejemplo-2: SQL Concatenar cuatro cadenas
Por el bien de este tutorial, imaginemos una aplicación usando una tabla de usuario. Esta tabla tiene al menos 4 campos: un identificador, el nombre, el apellido y la fecha (en formato DATETIME).
Tabla de usuarios:
| id | nombre | apellido | Fecha |
|---|---|---|---|
| 1 | Pedro | Pantano | 2013-06-05 00:00:00 |
| 2 | Rosa | Guillet | 2013-06-17 00:00:00 |
| 3 | Fernando | Exacción | 2013-06-18 00:00:00 |
| 4 | Sabino | El alcalde | 2013-07-09 00:00:00 |
| 5 | Delfina | Tuyo | 2013-08-27 00:00:00 |
Imaginemos que queremos mostrar el código, nombre seguido del apellido y la fecha. Para ello, es posible utilizar la función sql CONCAT() con la siguiente consulta SQL:
Ejemplo SQL: CONCAT de varias columnas
SELECT CONCAT(Id, ' ', nombre, ' ', apellido, ' ', fecha) AS Nombre_columna
FROM usuario; -- Concatenar Id, nombre, apellido y fecha
Buscar en el nombre + el apellido a la vez
Ahora imagine que un administrador quiere encontrar un usuario buscando su nombre seguido de su apellido. Esta búsqueda hace que sea más fácil encontrar un miembro determinado en lugar de buscar por nombre y apellido por separado. Entonces es posible usar la siguiente consulta:
Ejemplo SQL: Filtrar por nombre completo
SELECT id, nombre, apellido, fecha
FROM usuario
WHERE CONCAT(nombre, ' ', apellido) LIKE 'El alcalde';
-- Buscar registros donde el nombre completo sea 'El alcalde'
Resultados :
| id | nombre | apellido | Fecha |
|---|---|---|---|
| 4 | Sabino | El alcalde | 2013-07-09 00:00:00 |
Buscar reemplazando una FECHA en DATETIME
Ahora tomemos un ejemplo de búsqueda en una fecha específica. La función sql CONCAT() te permitirá buscar usuarios registrados en una fecha determinada. El ejemplo es ficticio, pero ilustra claramente las posibilidades que ofrece esta función SQL. Por lo tanto, se puede utilizar la siguiente consulta SQL:
Ejemplo SQL: Filtrar por fecha exacta
SELECT id, nombre, apellido, fecha
FROM usuario
WHERE fecha = CONCAT('2013-08-27', '00:00:00');
-- Buscar registros con fecha exacta 2013-08-27 00:00:00
Resultados :
| id | nombre | apellido | Fecha de Registro |
|---|---|---|---|
| 5 | Delfina | Tuyo | 2013-08-27 00:00:00 |
Resumen
En este artículo, la función Concat SQL se ha cubierto con una introducción y ejemplos prácticos, en la primera sección de este artículo se ha explicado la descripción general de la función SQL concat y su sintaxis con tipos de retorno, en una sección adicional, diferentes tipos de ejemplos como expresión de cadena concatenada, expresión, valor como argumento y muestra comillas simples en la cadena concatenada resultante, así como también cómo poner espacio como argumento en la función concat.



