我有一个存储在CLOB中的XML,我想提取部分XML但查询结果为null,
我尝试了这两个查询
select extract(xmltype(XML_CFDI),'/Comprobante/@sello') from cfdi where id=488679;
SELECT EXTRACTVALUE(xmltype(XML_CFDI), '/Comprobante/@sello') FROM cfdi where id=488679;
<?xml version="1.0" encoding="UTF-8" ?>
<cfdi:Comprobante sello="EQ4vvA1CDxmXSdKYPqvMoknzMs8eJZHaR1Jl7MJzmHTSChBJuuIErfTPdBcKK1MskIZVugUZ0oNTGZuN7A/DqHED5zKesxX9k8iedvn2rvS5TirhDRff88jfw7bPpP9T85kCmbODoo7bg+ygDpTOtlo20Cai+WYyNU/55FFzVAY=" noCertificado="00001000000200029932" Moneda="MXN" total="1697.08" metodoDePago="TRANSFERENCIA ELECTRÓNICA DE FONDOS" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cfdi:Emisor nombre="Corporativo de Comercioa">
<cfdi:DomicilioFiscal colonia="Colonia Centro" estado="Veracruz" pais="MEXICO" />
</cfdi:Emisor>
<cfdi:Receptor nombre="CHOCOLATES">
<cfdi:Domicilio calle="CALZADA" pais="MÉXICO" />
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad="1.000" unidad="CON" descripcion="PAQUETE-RECEPCION" importe="1463.00" />
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="234.08">
<cfdi:Traslados>
<cfdi:Traslado impuesto="IVA" tasa="16.00" importe="234.08" />
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital version="1.0" selloCFD="EQ+WYyNU/55FFzVAY=" noCertificadoSAT="301209952" selloSAT="40uvrJykS3S2I=" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" />
</cfdi:Complemento>
</cfdi:Comprobante>
答案 0 :(得分:0)
这是可以的查询。
SELECT
cfdi_cpb_id,
extractvalue(XMLTYPE(cfdi_xml_cfd_orig),
'/cfdi:Comprobante/@sello',
'xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') Title
FROM
bitacora_cfdi
WHERE
cfdi_cpb_id=512379;