select 查询 CLOB xml

select query for CLOB xml

我想提取存储在 XMLDATA 列中的 xml 数据 我的 table FINAL_XML 有以下列

IDENTIFIERTYPE | IDENTIFIER | DATE      | XMLDATA
-------------- | ---------- | --------- | -------
CONTACT        | 1          |0216-08-04 | CLOB, 4500 Bytes

有没有一种方法可以编写 select 语句来 return 实际的 xml 树?

谢谢

您需要将 CLOB 转换为 XMLTYPE 类型:

select xmltype(XMLDATA) from FINAL_XML

如果您的 CLOB 字段不是有效的 XML,这会给您一个错误。

请参阅下文如何从 xml 类型的列中读取 xml 数据:

SELECT x.xml_data.getClobVal()
FROM   xml_tab x;

如果您的 XMLDATA 列是 xmltype 数据类型,那么您的查询如下:

SELECT  xmldata.getClobVal()
    FROM  FINAL_XML;