DEV Community

loading...

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

Gustavo Inocencio
Um desenvolvedor que deseja compartilhar aquilo que sabe e aprende para que outros possam se apoiar e continuar fazendo o mundo melhor.
・1 min read

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)