XML-анализ с SQL-запросом

Я пытаюсь разобрать ниже xml в sql-сервере, чтобы получить все 3 идентификатора

<Configuration>
  <ID>1000</ID>
  <ID>1001</ID>
  <ID>1002</ID>
</Configuration>

с помощью запроса

SELECT  CONFIGURATION.value('/', 'varchar(200)') as SID FROM SCHEDULE 

я получаю результаты как 100010011002 но я хотел бы получить результаты в столбце или в формате CSV.

любая помощь будет назначена.

Ответ 1

Используя MS SQL Server, это даст вам строки.

declare @xml as xml
set @xml = 
'<Configuration>
  <ID>1000</ID>
  <ID>1001</ID>
  <ID>1002</ID>
</Configuration>'

select
    x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID') as x(i)

Если вам нужно только одно значение, как в этом примере, это намного быстрее (три раза), чтобы обрезать text() node.

select
    x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID/text()') as x(i)