【发布时间】:2018-03-14 18:39:12
【问题描述】:
我需要有关为什么我收到两个空值作为“结果”而不是收到“已批准”文本的指导?
DECLARE @xml XML
SET @xml = '<Process>
<DataArea>
<UserArea>
<Property>
<ChildProperty name="Decision" type="StringType">Approved</ChildProperty>
</Property>
<Property>
<ChildProperty name="somethingelse" type="StringType">somethingelsevalue</ChildProperty>
</Property>
</UserArea>
</DataArea>
</Process>'
SELECT
b.value('(/ChildProperty[@name="Decision"]/text())[1]', 'VARCHAR(100)') AS result
FROM
@xml.nodes('/Process/DataArea/UserArea/Property') AS a(b)
【问题讨论】:
-
XML 支持高度特定于供应商 - 所以请添加标签以指定您是否使用
mysql、postgresql、sql-server、oracle或db2- 或完全不同的东西。 -
@marc_s 更新标题。
-
@marc_s 更新标签。
标签: xml sql-server-2016