28% de descuento del curso en SQL Server

Estrada Web Group Estrada Web Group
Concatenar cadenas
Estrada Web Group
Estrada Web Group
Estrada Web Group Estrada Web Group
Calificar:
07 octubre SQL

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

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:

Cargando...
Descarga el código fuente

Obten el código del sistema de gestión de proyectos.

Shape