Oacle-获取CLOB类型xml数据中指定节点数据

本文介绍了如何在Oracle数据库中,针对CLOB类型的XML数据,使用EXTRACTVALUE函数来获取指定节点的数据。通过建表、插入XML数据,然后演示了提取节点信息的完整过程,最终展示查询结果。

语法

select extractvalue(xmltype(colomnName),'TraceNodePath') from tableName;

本地小实验一下:

一、建表

create table panda(id number,xmlParam clob);

二、插入数据:

insert into panda values(1,to_clob('
<xml> 
  <head> 
    <TransCode>dms03004</TransCode>  
    <TransTime>2019-06-18 10:10:42</TransTime> 
  </head>  
  <body> 
    <CltSysCode>PYBT</CltSysCode>   
    <SvrSysCode>DMS</SvrSysCode>  
    <List> 
      <Entity class="com.ab.docpsi.vo.impl.BussReconciliationBankVo"> 
        <VisaCode>1105110000</VisaCode>  
        <VisaBeginNo>11051100002090075883</VisaBeginNo>  
        <BusinessNo>1100000000199000000031</BusinessNo>
        <BusinessType>P</BusinessType> 
        <BankStatus>0</BankStatus> 
        <Status>1</Status> 
      </Entity>  
    </List> 
  </body> 
</xml>       
'));

三、提取节点数据

select extractvalue(xmltype(xmlparam),'/xml/head/TransCode') as "版本编码",      
       extractvalue(xmltype(xmlparam),'/xml/body/List/Entity/VisaCode') as "接口编码",
    id
from panda;

四、查询结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值