Тук няма истинска техника за учене. Това е просто сладък трик за свързване на множество редове данни в един низ. Това е по-скоро странно използване на функция, отколкото предназначено използване на XML
функция за форматиране.
SELECT ',' + ColumnName ... FOR XML PATH('')
генерира набор от стойности, разделени със запетая, въз основа на комбиниране на множество редове данни от ColumnName
колона. Той ще произведе стойност като ,abc,def,ghi,jkl
.
STUFF(...,1,1,'')
След това се използва за премахване на водещата запетая, генерирана от предишния трик, вижте STUFF
за подробности относно параметрите му.
(Странно, много хора са склонни да наричат този метод за генериране на разделен със запетая набор от стойности като "метод STUFF" въпреки STUFF
отговаря само за последното подрязване)