Как проанализировать ячейку XML для нескольких записей без переменной? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть данные XML, хранящиеся в виде nvarchar в таблице.Я запускаю запрос, чтобы получить данные для переменной и анализировать переменную в несколько строкатрибуты? )

Description
===========
firstgroup   
nextgroup

Возможно ли получить результат только одним выбором (без переменной)?

1 Ответ

0 голосов
/ 21 февраля 2019

Просто замените имя переменной на столбец и включите таблицу в FROM:

SELECT c.value('@Description', 'varchar(max)') AS Description
FROM @contenttable ct
     CROSS APPLY ct.xdata.nodes('/root/*') T(c);

Обратите внимание, что предполагает , что вы изменили тип данных своегостолбец до xml.XQUERY не работает на (n)varchar типах данных.

SELECT c.value('@Description', 'varchar(max)') AS Description
FROM @contenttable ct
     CROSS APPLY (VALUES(TRY_CONVERT(xml,ct.xdata))) V(xdata)
     CROSS APPLY V.xdata.nodes('/root/*') T(c);
...