Oracle 从xmltype输出中删除空值

Oracle 从xmltype输出中删除空值,oracle,xmltype,Oracle,Xmltype,在这个查询中,我在每个empno返回后得到两个null,为什么会发生这种情况 我试图理解xmltype并处理数据库中的XML数据类型。EMP表中的数据是什么样的?这里有空值吗?@Ben这是Scott模式中的emp表。请运行上面的查询,您将理解我所说的内容 create table xml_type ( id number, xmlval xmlType ); / DECLARE l_xmltype xmltype; BEGIN SELECT sys_xmlagg(xm

在这个查询中,我在每个empno返回后得到两个null,为什么会发生这种情况


我试图理解xmltype并处理数据库中的XML数据类型。

EMP表中的数据是什么样的?这里有空值吗?@Ben这是Scott模式中的emp表。请运行上面的查询,您将理解我所说的内容
create table xml_type (
  id number,
  xmlval xmlType
);    
/

DECLARE
  l_xmltype xmltype;
BEGIN

  SELECT sys_xmlagg(xmlelement("Emp",xmlforest(e.empno,e.ename,e.sal)))
  INTO l_xmltype
  FROM emp e;

  INSERT INTO xml_type VALUES
    (1, l_xmltype);

END;
/

SELECT extractvalue(value(d),'//EMPNO/text()') AS Empno
 FROM XML_TYPE x
   , TABLE(xmlsequence(extract(X.XMLVAL,'/ROWSET/Emp/*'))) d