Xquery получают значение от атрибута

У меня есть некоторый xml и потребность извлечь значения с помощью sql

<?xml version="1.0" ?>  
<fields>  

<field name="fld_AccomAttic">  
<value>0</value>  
</field>  
<field name="fld_AccomBathroom">  
<value>1</value>  
</field>
</fields>  

</xml>

Я должен получить имя столбца fld_AccomAttic
Значение 1

xml считается в SQL-сервере 2 005 дб

Я использовал xquery прежде, и он работал.

Как извлечь эти значения?

9
задан Cœur 28 July 2017 в 02:34
поделиться

2 ответа

SELECT <xmlfield>.value('(/xml/fields/field/@name)[1]', 'varchar(60)')
FROM <table>
WHERE <xmlfield>.value('(/xml/fields/field/value/)[1], 'int') = 1

Замените именами таблиц и полей.

17
ответ дан 4 December 2019 в 09:35
поделиться

Figured it matey

XMLData.value('(/xml/fields/field[@name = "fld_AccomAttic"]/value)[1]','varchar(50)')
5
ответ дан 4 December 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: