Não há nenhuma técnica real para aprender aqui. É apenas um truque fofo para concatenar várias linhas de dados em uma única string. É mais um uso peculiar de um recurso do que um uso pretendido do
XML
recurso de formatação. SELECT ',' + ColumnName ... FOR XML PATH('')
gera um conjunto de valores separados por vírgulas, com base na combinação de várias linhas de dados do
ColumnName
coluna. Ele produzirá um valor como ,abc,def,ghi,jkl
. STUFF(...,1,1,'')
É então usado para remover a vírgula inicial que o truque anterior gerou, veja
STUFF
para detalhes sobre seus parâmetros. (Estranhamente, muitas pessoas tendem a se referir a esse método de gerar um conjunto de valores separados por vírgula como "o método STUFF", apesar do
STUFF
sendo responsável apenas por um corte final)