繁体   English   中英

从SQL Server提取XML文本

[英]Extract XML text from SQL Server

我需要从SQL Server中的XML提取值。 但是,如果我尝试此查询:

select 
    xmldata.query('(/entry/accounts/account/accountid/text())')
from 
    ltr_CPC_phx_acct_balance_XML

我的XML的简短示例:

<entry timestamp="2015-08-05T10:25:54">
    <accounts>
    <account><accountid>xxxx0800USD</accountid><balance>-100,02</balance></account>
    <account><accountid>xxxx2100EUR</accountid><balance>215,36</balance></account>
    <account><accountid>xxxx4301GBP</accountid><balance>96,54</balance></account>
    </accounts>
</entry>

结果:

1. xxxx0800USDxxxx2100EURxxxx4301GBP

预期结果应该是这样的

1. xxxx0800USD
2. xxxx2100EUR
3. xxxx4301GBP

非常感谢你。

您需要使用nodes()来粉碎XML,例如:

select 
    accountid.value('.','varchar(100)') as accountid
from ltr_CPC_phx_acct_balance_XML
    OUTER APPLY xmldata.nodes('/entry/accounts/account/accountid') T(accountid)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM