将DBCLOB/CLOB转换为XML
问题描述:
我们正在将DBCLOB转换/转换为XML时遇到问题。将DBCLOB/CLOB转换为XML
背景
我们在类型DBCLOB(1073741823)的柱存储一些XML数据。对于我们的一项要求,我们必须将此数据转换为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到XML)提前
感谢的方式
答
其实我正在将它转换为varchar,因为XMLPARSE函数需要一个字符串表达式。
再次阅读文档后,我将它转换为blob,然后转换为XML。它的工作,下面给出了工作的示例查询以供参考。
SELECT
XMLCAST (
XMLPARSE (
DOCUMENT CAST (
COLUMN1 AS BLOB
)
PRESERVE WHITESPACE
) as XML
)
FROM
TABLE1
感谢支持