Soy nuevo en Oracle y tengo, tal vez trivial, un problema en una selección. (Estoy usando Oracle 10g Express Edition).Oracle 10g: Extraer datos (seleccionar) de XML (tipo CLOB)
Tengo una base de datos con un campo CLOB: mytab.xml Esta columna tiene un XML como esto:
<?xml version="1.0" encoding="iso-8859-1"?>
<info>
<id> 954 </id>
<idboss> 954 </idboss>
<name> Fausto </name>
<sorname> Anonimo </sorname>
<phone> 040000000 </phone>
<fax> 040000001 </fax>
</info>
que estoy tratando de hacer un 'simple' selecciono para obtener, por ejemplo, el valor de la etiqueta 'fax'. Pero tengo un problema y no puedo entender mi error. Por ejemplo:
select extract(xml, '//fax').getStringVal() from mytab;
ORA-00932: inconsistent datatypes: expected - got
select extract(xmltype(xml), '//fax').getStringVal() from mytab;
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 254
He intentado también con 'extractvalue', pero tengo los mismos problemas. donde estoy equivocado al hacer esto?
todavía no: ORA-06502: PL/SQL: error numérico o valor ORA-06512: en "SYS.XMLTYPE", línea 254 ORA-06512: en la línea 1 – mymark
Lo siento ... sí, ¡su respuesta funciona a la perfección! En el caso anterior, tengo xml null ^^! – mymark
En 11g puedo dejar '.getStringVal()' -part out. No tengo idea de 10g ya que no tengo ninguno aquí. – user272735