DEV Community

Gustavo Inocencio
Gustavo Inocencio

Posted on

Como concatenar o texto de várias linhas em uma única sequência de texto no SQL server?

Em algumas situações necessitamos retornar apenas uma sequência de texto, mesmo existindo mais de um registro na tabela.
Para isso, podemos utilizar o seguinte esquema:

SELECT TOP 1 STUFF( 
SELECT DISTINCT
   ', ' + CAST(*campoTextoDesejado* AS VARCHAR(MAX)) 
FROM
   *TabelaDesejada* 
WHERE
   *Filtro* FOR XML PATH(''),1,1,'' ) 
FROM
   *TabelaDesejada* 
Enter fullscreen mode Exit fullscreen mode

A função STUFF serve para limpar o primeiro caracter que, sem ela, seria uma vírgula. Utilizando a função a vírgula é retirada.

Discussion (0)