1

我们在将 DBCLOB 转换/转换为 XML 时遇到了问题。

背景

我们将一些 xml 数据存储在 DBCLOB (1073741823) 类型的列中。对于我们的要求之一,我们必须将此数据转换为XML类型,以便我们可以利用Xquery过滤结果。为了进行这种转换,我们使用以下 SQL 查询将 DBCLOB 转换为 XML 数据类型。

SELECT XMLCAST (XMLPARSE (DOCUMENT (CAST (CAST (COLUMN1 AS DBCLOB(32672)) AS VARCHAR (32672)))) AS XML from TABLE1 

问题

对于某些情况,DBCLOB 列中的数据大小超过 32672,并且由于我们通过 VARCHAR 将 DBCLOB 转换为 XML,因此输出限制为 32672,并且 XML 转换失败。

实现这种转换的方法是什么(clob to xml)

提前致谢

4

2 回答 2

3

实际上,我将它转换为 varchar,因为 XMLPARSE 函数需要一个字符串表达式。

再次浏览文档后,我将其转换为 blob,然后再转换为 XML。它有效,下面给出了有效的示例查询以供参考。

SELECT 
  XMLCAST (
    XMLPARSE (
      DOCUMENT CAST (
        COLUMN1 AS BLOB
      ) 
      PRESERVE WHITESPACE
    ) as XML
  ) 
FROM 
  TABLE1

感谢您的支持

于 2012-09-20T14:48:52.987 回答
0

您在数据库中执行的任何转换都将受到您正在使用的数据类型的限制(例如,在您的示例中为 varchar 32672 KB)。

尝试改用XMLSERIALIZE

于 2012-07-05T13:20:22.203 回答