La función CONCAT en PostgreSQL es una herramienta poderosa para unir cadenas de texto en una sola. Con esta función, puedes combinar columnas, palabras, números o cualquier combinación de ellos, generando una salida consolidada en una única columna. Es especialmente útil para formatear datos, crear etiquetas o mostrar información combinada en tus consultas.
CONCAT admite tipos como char
, varchar
y text
, además de cualquier dato que pueda convertirse a cadena, lo que amplía considerablemente sus posibilidades de uso. Como parte de las funciones de cadena en PostgreSQL, esta función es imprescindible para tareas que requieren manipulación y personalización de texto.
En este artículo, primero revisaremos la sintaxis básica de CONCAT, y luego exploraremos ejemplos prácticos que ilustran cómo implementarla para resolver diferentes casos en bases de datos.
Para más información, puedes consultar la documentación oficial de PostgreSQL.
Sintaxis
La sintaxis para utilizar la función CONCAT en PostgreSQL es la siguiente:
CONCAT (valor1, valor2, valorN)
Ejemplos
Concatenar dos cadenas
En el siguiente ejemplo concatenamos las cadenas ‘Blog de’ y ‘ Miguel Troyano’ en una sola columna.
SELECT CONCAT('Blog de',' Miguel Troyano') COLUMNA1;

Concatenar una cadena con un número
En este ejemplo concatenamos la cadena ‘Miguel Troyano nació en el año’ con un espacio y el número 1986. Esto es posible, ya que el sistema es capaz de convertir internamente el número 1986 a cadena.
SELECT CONCAT('Miguel Troyano nació en el año',' ', 1986) COLUMNA1;

Concatenar sin usar la función concat
Puedes usar el operador de concatenación || para concatenar de una forma más sencilla. En este ejemplo concatenamos la cadena ‘Miguel Troyano nació en el año’ con un espacio y el número 1986
SELECT 'Miguel Troyano nació en el año' || ' ' || 1986 AS COLUMNA1;

Concatenar campos y cadenas
También es posible concatenar campos de una tabla o incluso combinar campos con cadenas. En el siguiente ejemplo concatenamos el campo nombre de la tabla empleados con un espacio y la cadena de texto ‘trabaja en Minsait’
SELECT nombre || ' ' || 'trabaja en Minsait' AS COLUMNA1 from empleados;
