gpt4 book ai didi

sql - 如何从XML列获取元素值?

转载 作者:行者123 更新时间:2023-12-03 17:27:48 24 4
gpt4 key购买 nike

我在下面的一栏中有XML。我需要转到\ Report \ Criterias \ Criteria(其中name =“ Advertisers”)\ Elements \ Element(其中name =“ ListViewAvailable”)。从这里,我需要列出Value元素中的所有数字。

到目前为止,我得到了:

SELECT xmlColumn.query('/Report/Criterias/Criteria/Elements/Element')
from tbl


但不知道如何过滤。

<Report>
<Criterias>
<Criteria name="Date Range">
...
</Criteria>

<Criteria name="Advertisers">
<Elements>
<Element name="CheckBoxOne">
<Value>0</Value>
</Element>
<Element name="ListViewAvailable">
<Value>314</Value>
<Value>57</Value>
<Value>18886</Value>
<Value>7437</Value>
</Element>
</Elements>
</Criteria>
<Criteria name="Revenue Types">
...
</Criteria>
</Criterias>
</Report>

最佳答案

您可以结合使用谓词([])和CROSS APPLY进行过滤,以将XML分解为Value元素级别:

SELECT C.value('.', 'int') AS Value
FROM tbl t
CROSS APPLY t.xmlColumn.nodes('
/Report/Criterias/Criteria[@name="Advertisers"]
/Elements/Element[@name="ListViewAvailable"]
/Value
') T(C)

关于sql - 如何从XML列获取元素值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42685679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com