Как преобразовать значения узлов XML в значения, разделенные запятыми в SQL?
Я хочу преобразовать значения узлов XML в значения, разделенные запятыми в SQL.
Что я уже пробовал:
DECLARE @PersonsXml XML = '<ROOT><FILETYPE>PEN</FILETYPE><FILETYPE>REM</FILETYPE><FILETYPE>SAL</FILETYPE></ROOT>' --SELECT b.value('(./firstName/text())[1]','nvarchar(max)') as FirstName, b.value('(./lastName/text())[1]','nvarchar(max)') as LastName --FROM @PersonsXml.nodes('/persons/person') AS a(b) DECLARE @ConcatString VARCHAR(MAX) SELECT @ConcatString = COALESCE(@ConcatString + ', ', '') + Code FROM ( SELECT b.value('(./FILETYPE/text())[2]','nvarchar(max)') as Code --, b.value('(./lastName/text())[1]','nvarchar(max)') as LastName FROM @PersonsXml.nodes('/ROOT') AS a(b) )as TBL