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

    技术2022-07-11  88

    语法

    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;

    四、查询结果

    Processed: 0.010, SQL: 9