【发布时间】:2014-06-25 10:24:46
【问题描述】:
我有一个表,其中有一列数据类型为 xml。我想查找用户在该列中插入的数据大小。 DB2 显示该列的长度为 0。
如何在 DB2 数据库的表中找到 xml 类型的列中存在的数据大小?
【问题讨论】:
-
有什么用?您的 DB2 平台和版本是什么?
-
它在 linux 机器上。不能说版本,但它不是那个旧版本。
我有一个表,其中有一列数据类型为 xml。我想查找用户在该列中插入的数据大小。 DB2 显示该列的长度为 0。
如何在 DB2 数据库的表中找到 xml 类型的列中存在的数据大小?
【问题讨论】:
遇到同样的问题。
由于 DB2 中的 XML 是一种瞬态数据类型,因此它以分层形式存储。所以你要做的就是序列化 xml 内容(因为它存储在它的“解析”形式中)并将其输出为序列化的数据类型(例如 CLOB)。
以表xmltable 为例,其列content 是XML 类型:
SELECT xmltable.*, XMLSERIALIZE(xmltable.content AS CLOB(20M))
FROM xmltable
一定要初始化足够大的CLOB,否则会报错22001。
【讨论】: