Я пытаюсь настроить запрос для чтения переменной XML, и он, похоже, возвращает пустую таблицу.
Используемый мной XML:
<collection>
<object parentid="57ae88af-425e-448f-a0a3-b83738fe51b1" parenttype="Object">
<fields>
<field name="ID">
<value>57</value>
</field>
</fields>
</object>
<object parentid="57ae88af-425e-448f-a0a3-b83738fe51b1" parenttype="Object">
<fields>
<field name="ID">
<value>58</value>
</field>
</fields>
</object>
</collection>
Значения IЯ хочу прочитать между этими тегами: <value>58</value>
Я использовал этот ответ, чтобы получить код, работающий в первую очередь: SQL-запрос SQL-значения возвращают NULL
Послепробовать различные комбинации из других ответов с помощью «Cross Apply» и т. д.
Код, который я до сих пор работал:
DECLARE @T1 AS XML
SET @T1 = (
SELECT
(CONVERT(XML,p.Selected_Roles))
FROM [ReportDB1].[dbo].[Job_Roles] AS P
WHERE p.ID ='27' )
SELECT
t.x.value('value[1]', 'int') AS test
FROM @T1.nodes('/collection/objects/fields/field') t(x)
Я бы ожидал, что выход каждого значения в теге values будетперечислены в столбце теста.Что на самом деле происходит, я получаю тест столбца, но без строк.