add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
1 rows affected
1 rows affected
1 rows affected
ID MY_XML
1
<root>
  <person>
    <name>Miguel Martins</name>
    <age>32</age>
    <list_of_numbers>
      <number>1</number>
      <number>2</number>
    </list_of_numbers>
  </person>

  <person>
    <name>Another Person</name>
    <age>19</age>
    <list_of_numbers>
      <number>3</number>
      <number>4</number>
    </list_of_numbers>
  </person>
</root>
2
<root>
  <person>
    <name>XXXX</name>
    <age>32</age>
    <list_of_numbers>
      <number>10</number>
      <number>20</number>
       <number>30</number>
    </list_of_numbers>
  </person>

</root>
3
<root>
  <person>
    <name>XXXX</name>
    <age>32</age>
  </person>
</root>
ID NAME AGE number
1 Miguel Martins 32 1
1 Miguel Martins 32 2
1 Another Person 19 3
1 Another Person 19 4
2 XXXX 32 10
2 XXXX 32 20
2 XXXX 32 30
ID NAME AGE number
1 Miguel Martins 32 1
1 Miguel Martins 32 2
1 Another Person 19 3
1 Another Person 19 4
2 XXXX 32 10
2 XXXX 32 20
2 XXXX 32 30
3 XXXX 32 null
1 rows affected

dbms_output:
SELECT "A1"."ID_0" "ID","A1"."NAME_2" "NAME","A1"."AGE_3" "AGE","A1"."number_5" "number" FROM  (SELECT "A3"."ID_0" "ID_0","A3"."MY_XML_1" "MY_XML","A3"."NAME_2" "NAME_2","A3"."AGE_3" "AGE_3","A3"."LIST_OF_NUMBERS_4" "LIST_OF_NUMBERS","A2"."number_0" "number_5" FROM  (SELECT "A7"."ID" "ID_0","A7"."MY_XML" "MY_XML_1","A6"."NAME_0" "NAME_2","A6"."AGE_1" "AGE_3","A6"."LIST_OF_NUMBERS_2" "LIST_OF_NUMBERS_4" FROM "FIDDLE_MBIQITDWKVATIEJJAUXD"."T" "A7", LATERAL( (SELECT EXTRACTVALUE("A8"."COLUMN_VALUE",'/person/name') "NAME_0",EXTRACTVALUE("A8"."COLUMN_VALUE",'/person/age') "AGE_1",XMLQUERY('list_of_numbers/number' PASSING BY XMLTAB "A8"."COLUMN_VALUE" RETURNING CONTENT ) "LIST_OF_NUMBERS_2" FROM  (SELECT VALUE(A9) "COLUMN_VALUE" FROM TABLE("SYS"."XQSEQUENCE"(XMLQUERY('/root/person' PASSING BY VALUE "SYS"."XMLTYPE"("A7"."MY_XML") RETURNING SEQUENCE BY VALUE ))) "A9") "A8")) "A6") "A3", LATERAL( (SELECT CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY('.' PASSING BY XMLTAB "A4"."COLUMN_VALUE" RETURNING SEQUENCE BY VALUE ),0,0,54525952,0),50,1,2) AS number ) "number_0" FROM  (SELECT VALUE(A5) "COLUMN_VALUE" FROM TABLE("SYS"."XQSEQUENCE"(XMLQUERY('/number' PASSING BY VALUE "A3"."LIST_OF_NUMBERS_4" RETURNING SEQUENCE BY VALUE ))) "A5") "A4")) "A2") "A1"
1 rows affected

dbms_output:
SELECT "A1"."ID_0" "ID","A1"."NAME_2" "NAME","A1"."AGE_3" "AGE","A1"."number_5" "number" FROM  (SELECT "A3"."ID_0" "ID_0","A3"."MY_XML_1" "MY_XML","A3"."NAME_2" "NAME_2","A3"."AGE_3" "AGE_3","A3"."LIST_OF_NUMBERS_4" "LIST_OF_NUMBERS","A2"."number_0" "number_5" FROM  (SELECT "A7"."ID" "ID_0","A7"."MY_XML" "MY_XML_1","A6"."NAME_0" "NAME_2","A6"."AGE_1" "AGE_3","A6"."LIST_OF_NUMBERS_2" "LIST_OF_NUMBERS_4" FROM "FIDDLE_MBIQITDWKVATIEJJAUXD"."T" "A7", LATERAL( (SELECT EXTRACTVALUE("A8"."COLUMN_VALUE",'/person/name') "NAME_0",EXTRACTVALUE("A8"."COLUMN_VALUE",'/person/age') "AGE_1",XMLQUERY('list_of_numbers/number' PASSING BY XMLTAB "A8"."COLUMN_VALUE" RETURNING CONTENT ) "LIST_OF_NUMBERS_2" FROM  (SELECT VALUE(A9) "COLUMN_VALUE" FROM TABLE("SYS"."XQSEQUENCE"(XMLQUERY('/root/person' PASSING BY VALUE "SYS"."XMLTYPE"("A7"."MY_XML") RETURNING SEQUENCE BY VALUE ))) "A9") "A8")) "A6") "A3", LATERAL( (SELECT CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY('.' PASSING BY XMLTAB "A4"."COLUMN_VALUE" RETURNING SEQUENCE BY VALUE ),0,0,54525952,0),50,1,2) AS number ) "number_0" FROM  (SELECT VALUE(A5) "COLUMN_VALUE" FROM TABLE("SYS"."XQSEQUENCE"(XMLQUERY('/number' PASSING BY VALUE "A3"."LIST_OF_NUMBERS_4" RETURNING SEQUENCE BY VALUE ))) "A5") "A4")) "A2") "A1"