Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL CONCAT_WS

La función `CONCAT_WS` de PostgreSQL es una función de cadena utilizada para concatenar dos o más cadenas con un separador especificado. Simplifica la unión de valores de cadena y garantiza que el separador sólo se inserte entre valores no nulos.

Utilización

`CONCAT_WS` se emplea cuando necesitas unir varias cadenas con un delimitador, especialmente cuando algunos valores pueden ser nulos. Ayuda a crear salidas concatenadas más limpias, sin separadores iniciales ni finales.

sql
CONCAT_WS(separator, string1, string2, ...)

En esta sintaxis, `separador` es la cadena que separa los valores concatenados, mientras que `cadena1`, `cadena2`, etc., son las cadenas que hay que unir. Ten en cuenta que `CONCAT_WS` está disponible a partir de la versión 9.1 de PostgreSQL.

Ejemplos

1. Concatenación básica

sql
SELECT CONCAT_WS('-', '2023', '10', '05') AS formatted_date;

Este ejemplo concatena las cadenas `'2023'`, `'10'` y `'05'` con un guión (`-`) como separador, lo que da como resultado `2023-10-05`.

2. Concatenación con valores nulos

sql
SELECT CONCAT_WS(', ', 'John', NULL, 'Doe') AS full_name;

Aquí, las cadenas `'John'` y `'Doe'` se concatenan con una coma y un espacio (`, `) como separador. El valor `NULL` se ignora, produciendo `John, Doe`.

3. Concatenación a partir de columnas de tablas

sql
SELECT CONCAT_WS(' ', first_name, middle_name, last_name) AS full_name
FROM employees;

Este ejemplo concatena `nombre_del_nombre`, `nombre_del_medio` y `apellido_del_nombre` de la tabla `empleados`, utilizando un espacio como separador. Los valores nulos en cualquier columna se omiten automáticamente.

Consejos y buenas prácticas

  • Utiliza separadores adecuados. Elige separadores que hagan que el resultado sea claro y legible.
  • Maneja los nulos con eficacia. `CONCAT_WS` omite de forma natural los valores nulos, evitando separadores innecesarios.
  • Optimiza la legibilidad. Cuando concatenes cadenas que puedan incluir nulos, utiliza `CONCAT_WS` para garantizar una salida limpia y legible.
  • Tratamiento de errores: Asegúrate de que todos los argumentos son tipos de datos válidos. Pasar tipos de datos incompatibles puede provocar errores.
  • Ten en cuenta el rendimiento. Aunque `CONCAT_WS` es eficiente, su rendimiento es bueno en comparación con funciones similares. Sin embargo, ten en cuenta el tamaño y la complejidad de la base de datos cuando lo apliques a grandes conjuntos de datos, ya que el rendimiento puede variar en consultas complejas.