我有一些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 server 2005 db
中之前我使用过xquery并且它已经运行了。
如何提取这些值?
答案 0 :(得分:17)
SELECT <xmlfield>.value('(/xml/fields/field/@name)[1]', 'varchar(60)')
FROM <table>
WHERE <xmlfield>.value('(/xml/fields/field/value/)[1], 'int') = 1
替换为您的表格和字段名称。
答案 1 :(得分:5)
想象它的伙伴
XMLData.value('(/xml/fields/field[@name = "fld_AccomAttic"]/value)[1]','varchar(50)')