У меня есть данные, хранящиеся в столбце xml, и мне нужен список дочерних узлов через запятую.Используя скрипт ниже, я могу получить только «ABC».Пожалуйста, помогите мне получить «A, B, C» с помощью xquery (Простая замена пробела на запятую не помогает, потому что у нас есть данные с пробелами внутри).
Попробуйте:
SELECT STUFF((SELECT ',' + fd.v.value('(.)[1]', 'varchar(10)') FROM Temp12345 CROSS APPLY col1.nodes('/fd/field/v') AS fd(v) FOR XML PATH('') ), 1, 1, '')
Это дает мне A,B,C - это тоже работает для вас?
A,B,C
В полноценном XQuery-процессоре вы можете использовать только:
(/fd/field[@i=22])[1]/string-join(*,',')