#XMLSEQUENCE

xmlsequence
XMLSEQUENCE ( xml_data )

XMLSEQUENCE函数用于将XMLType类型的XML数据中的多个节点转换为一个表,并以预置的xmltype数组格式返回。

xml_data

通用表达式,遵循如下规则:

  • 必须是一个完整的带有根节点的XML文档,数据类型为XMLTYPE。
  • 数据长度不得超过64MB。
  • 如果输入为NULL,则返回NULL。

示例(HEAP表)

-- 将XML数据转换成表
SELECT x.column_value.getclobval() AS result FROM TABLE(XMLSequence(xmlextract(xmltype('<root><book>Java</book><book>Python</book><book>Go</book><book>Rust</book></root>'),'/root/book'))) x;

RESULT                                                           
---------------------------------------------------------------- 
<book>Java</book>                                               
<book>Python</book>                                             
<book>Go</book>                                                 
<book>Rust</book>                                               


-- 返回类型为自定义类型
SELECT TYPEOF(x.column_value) AS result FROM TABLE(XMLSequence(XMLType('<root>John Doe</root>'))) x;

RESULT                                                           
---------------------------------------------------------------- 
udt_object                                                      


-- 输入格式错误时返回报错信息
SELECT x.column_value.getclobval() AS result FROM TABLE(XMLSequence('<root>John Doe</root>')) x;

[1:75]YAS-04121 invalid datatype

-- 输入NULL时返回NULL
SELECT x.column_value.getclobval() AS result FROM TABLE(XMLSequence(null)) x;

RESULT                                                           
---------------------------------------------------------------- 


SQL>

pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流