SQL

Cómo concatenar cadenas de texto en SQL Server con STRING_AGG

Estrada Web Group
Estrada Web Group
Cómo concatenar cadenas de texto en SQL Server con STRING_AGG

Resumen: en este tutorial, aprenderá a usar la función STRING_AGG() de SQL Server para concatenar filas de cadenas en una cadena con un separador específico.

Introducción a la función STRING_AGG() de SQL Server

STRING_AGG() es una función agregada que concatena filas de cadenas en una sola cadena, separadas por un separador específico. No agrega el separador al final de la cadena de resultados.

A continuación se muestra la sintaxis de la función STRING_AGG():

STRING_AGG ( input_string, separator ) [ order_clause ]

En esta sintaxis:

  • input_string es cualquier tipo que se pueda convertir a VARCHAR y NVARCHAR cuando se concatena.
  • separator es el separador de la cadena de resultado. Puede ser un literal o una variable.
  • order_clause especifica el orden de clasificación de los resultados concatenados utilizando la cláusula WITHIN GROUP:
WITHIN GROUP ( ORDER BY expression [ ASC | DESC ] )

La función STRING_AGG() ignora los NULL y no agrega el separador para NULL al realizar la concatenación.

Función STRING_AGG() de SQL Server

Usaremos la tabla sales.customers de la base de datos de ejemplo para la demostración:

Concatenar cadenas de texto con STRING_AGG en SQL Server

Uso de la función STRING_AGG() para generar valores separados por comas

Este ejemplo utiliza la función STRING_AGG() para generar listas de correos electrónicos de clientes por ciudad:

SELECT
    city,
    STRING_AGG(email,';') email_list
FROM
    sales.customers
GROUP BY
    city;

Aquí está el conjunto de resultados parciales:

concatenar cadenas de texto en SQL Server con STRING_AGG

Para ordenar la lista de correo electrónico, utiliza la cláusula WITHIN GROUP:

SELECT
    city,
    STRING_AGG(email,';')
        WITHIN GROUP (ORDER BY email) email_list
FROM
    sales.customers
GROUP BY
    city;

La siguiente imagen muestra el resultado parcial:

STRING_AGG() de SQL Server para concatenar filas de cadenas

En este tutorial, aprendiste a usar la función STRING_AGG() de SQL Server para concatenar filas de cadenas en una cadena con un separador específico.

Compartir artículo:

Más artículos geniales

Cómo usar FULL OUTER JOIN de SQL Server para consultar datos de dos o más tablas

Cómo usar FULL OUTER JOIN de SQL Server para consultar datos de dos o más tablas

Resumen: en este tutorial, aprenderás a usar FULL OUTER JOIN de SQL Server para consultar datos de dos o más tablas.

Ver artículo completo
Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Resumen: en este tutorial, aprenderás a usar la función PATINDEX() de SQL Server para encontrar la posición de un patrón en una cadena.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla