RDBurmon Ответов: 1

Чтение XML-узла с помощью SQL


Привет Команда,

Как читать XML-узел с помощью SQL?

У меня есть ниже XML -
"<sales>
  <sale>
	<name>Joy G</name>
	<details>TYOP 1,KODF 1243</details>
  </sale>
</sales> "

и мне нужен текст между узлом "детали" в ответ на SQL-запрос
Выход будет - TYOP 1, KODF 1243

Есть идеи, что это будет за запрос

Спасибо
РД Бурмон

Что я уже пробовал:

SELECT @List= n.c. value ('DETAILS[1]', ' varchar (max)')
От @parties t
Cross Apply RawXml. nodes ('/') n (c)

0x01AA

Это должно сделать это:
SELECT n.xmlData.value('(sales/sale/details)[1]','varchar(max)')
FROM xmlTable
Cross Apply xmlData.nodes('/') n(xmlData)


и с вашими именами таблиц/полей:

SELECT n.RawXml.value('(sales/sale/details)[1]','varchar(max)')
FROM Batches
Cross Apply RawXml.nodes('/') n(RawXml)

RDBurmon

Спасибо, это сработало

1 Ответов

Рейтинг:
0

RDBurmon

Это должно сделать это:
Выберите N.данных XML.значение('(Продажа/покупка/детали)[1]','типа varchar(Макс)')
С помощью xmltable
Перекрестное применение xmlData. nodes ('/') n(xmlData)

и с вашими именами таблиц/полей:

Выберите N.RawXml.значение('(Продажа/покупка/детали)[1]','типа varchar(Макс)')
от партии
Cross Apply RawXml. nodes ('/') n(RawXml)