Sql XMLSEQUENCE和空列
下面的查询Sql XMLSEQUENCE和空列,sql,xml,oracle,Sql,Xml,Oracle,下面的查询 WITH TABLE_TEMP AS ( SELECT '1a' as "column1", '1b' as "column2" FROM DUAL UNION ALL SELECT '2a' as "column1", null as "column2" FROM DUAL UNION ALL SELECT '3a' as "column1", '' as "column2" FROM DUAL ) SELECT VALUE(em) AS
WITH TABLE_TEMP AS (
SELECT '1a' as "column1", '1b' as "column2" FROM DUAL
UNION ALL
SELECT '2a' as "column1", null as "column2" FROM DUAL
UNION ALL
SELECT '3a' as "column1", '' as "column2" FROM DUAL
)
SELECT VALUE(em) AS "XMLTYPE"
FROM TABLE(XMLSEQUENCE(CURSOR(SELECT * FROM TABLE_TEMP))) em
输出
XMLTYPE
---------------------------------------------------------------
<ROW><column1>1a</column1><column2>1b</column2></ROW>
<ROW><column1>2a</column1></ROW>
<ROW><column1>3a</column1></ROW>
我认为XMLSequence已经被弃用了。看:你说得对,我已经编辑了上面的代码来删除XMLSequence。谢谢。我认为XMLSequence已经被弃用了。看:你说得对,我已经编辑了上面的代码来删除XMLSequence。谢谢你。
XMLTYPE
---------------------------------------------------------------
<ROW><column1>1a</column1><column2>1b</column2></ROW>
<ROW><column1>2a</column1></ROW>
<ROW><column1>3a</column1><column2 /></ROW>
SELECT
VALUE(table_temp) AS "XMLTYPE"
FROM
XMLTABLE('/ROWSET/ROW' PASSING
DBMS_XMLGEN.GETXMLTYPE('
SELECT ''1a'' as "column1", ''1b'' as "column2" FROM DUAL
UNION ALL
SELECT ''2a'' as "column1", null as "column2" FROM DUAL
UNION ALL
SELECT ''3a'' as "column1", '''' as "column2" FROM DUAL
')
) table_temp;