【发布时间】:2021-09-03 01:51:06
【问题描述】:
我对在 SQL 中处理 XML 数据比较陌生,所以请原谅任何“愚蠢”的错误:p.
本质上我想要做的是,从以下 XML 中提取“之前”和“之后”值:
<AuditData>
<Field Name="BrandEmailSubscribed">
<Before Value="True" />
<After Value="False" />
</Field>
<Metadata Type="OperatorInstigated">
<Note></Note>
</Metadata>
</AuditData>
我曾尝试使用以下 SQL,但这会返回一个空白值(虽然不是 NULL)。
select top 10 C.B.value('(Before)[1]','VARCHAR(100)'),AD.* from Table AD
OUTER APPLY AD.Data.nodes('AuditData/Field') AS C(B)
非常感谢任何帮助:)。
【问题讨论】: