Función CONCAT SQL

Cómo se usa CONCAT, usos y ejemplos en SQL

consultas sql sql select

Si buscas concatenar columnas, textos, o valores en general para obtener una cadena de texto del conjunto estás buscando la función SQL para concanter textos o columnas CONCAT.

A continación puedes ver una breve explicación, ejemplos de uso y algunas claves para su total comprehensión.

Función SQL para concatenar

La función CONCAT permite concatenar valores sin límite, de forma que el resultado siempre será una cadena de textos con todos los valos introducidos.

La función SQL CONCAT tiene varias restricciones y comportamientos que es bueno que conozcas:

  1. Requiere de al menos 2 valores para concatenar, de lo contrario se producirá un error.
  2. No hay límite a la hora de introducir valores y columnas, así que puedes unir desde 2 valores hasta 200 o los que necesites.
  3. La función transforma los valores/columnas introducidos en cadenas antes de realizar la unión.
  4. Los valores de tipo NULL los convierte en cadenas vacías.
  5. Si CONCAT recibe en todos sus argumentos valores de tipo NULL devolverá una cadena de texto vacía con el tipo VARCHAR(1).

Ahora que ya sabes cómo se usa y sus descripciones voy a mostrarte varios ejemplos para mayor claridad.

#1 Ejemplo de CONCAT SQL y SELECT

La siguiente consulta devuelve en 1 columna el nombre y apellidos de cada fila de la tabla ciudadano.

SELECT CONCAT( nombre, apellidos ) as nombre_completo
FROM ciudadano;

Este ejemplo tiene un problema, y es que al concatenar las 2 columnas el resultado será el nombre y apellidos sin ser separados por un espacio en blanco, lo cual quedará bastante feo y poco usable.

Para lograr dejar entre medias un espacio en blanco puedo concatenarlo también:

SELECT CONCAT( nombre, ' ', apellidos ) as nombre_completo
FROM ciudadano;

¡Listo! Ya tengo una consulta que me devuelve el nombre completo de todos los registros de la tabla ciudadano.

#2 Ejemplo de CONCAT SQL en UPDATE

El siguiente ejemplo actualiza una columna nombre_completo con la concatenación de las columnas nombre y apellidos de cada fila:

UPDATE ciudadano
SET nombre_completo = CONCAT( nombre, ' ', apellidos);

La función de SQL CONCAT también me podría servir para realizar cierta condición en un WHERE.

#3 WHERE con CONCAT

La siguiente consulta con CONCAT me permite filtrar todas aquellas filas que tengan de los ciudadanos que su nombre y apellidos completos son Jorge López o Roberto López

SELECT id, nombre, dni, direccion
FROM ciudadano
WHERE CONCAT(nombre, ' ', apellidos) = 'Jorge López' OR CONCAT(nombre, ' ', apellidos) = 'Roberto López';

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.