Я хочу взять строку XML и преобразовать его в SQL-таблицы с запятой-разграничитьSQL Server - XML-запрос - CONCAT - добавление пространства
declare @x xml --for example
set @x = '<root><row><a>a1</a><b>b2</b></row><row><a>aa1</a><b>bb2</b></row></root>'
SELECT T.c.query('.').query('for $i in row/*/text() return concat($i,";")').value('.', 'nvarchar(max)') AS result
FROM @x.nodes('root/row') T(c)
Результат:
a1; b2;
aa1; bb2;
Результат Я хочу: (пробел)
a1;b2;
aa1;bb2;
>> Бонус: Удалить последнюю точку с запятой
a1;b2
aa1;bb2
Спасибо!
Фантастический! :) Спасибо! – inon
Как я могу отсортировать результат? и т. д., первое значение «aa1» в столбце ? – inon
@inon Попробуйте 'ORDER BY v.value ('.', 'Nvarchar (max)')' перед 'FOR XML' – Shnugo