Sql 在CLOBXMLDB2上选择

Sql 在CLOBXMLDB2上选择,sql,db2,Sql,Db2,我将此数据作为DB2中的CLOB字段。我正在使用cast将数据转换为char: SELECT CAST(CLOBColumn as VARCHAR(32000)) FROM Schema.MyTable; 下面是如何从上面得到结果XML: <TreeList TreeNo="ABC"> <Tree ErrorCode="INVALID_TREE" ErrorDescription="Tree doesn’t exist." TreeID="123456"/>

我将此数据作为DB2中的
CLOB
字段。我正在使用cast将数据转换为
char

SELECT CAST(CLOBColumn as VARCHAR(32000))
FROM Schema.MyTable;
下面是如何从上面得到结果XML:

<TreeList TreeNo="ABC">
    <Tree ErrorCode="INVALID_TREE" ErrorDescription="Tree doesn’t exist." TreeID="123456"/>
    <Tree ErrorCode="INVALID_TREE" ErrorDescription="Tree doesn’t exist." TreeID="1234567"/>
</TreeList>
如何实现这一点?

您需要使用允许将XML数据映射到表的。您可以传入XML类型的数据,如果您直接将CLOB解析为XML,它就会工作。SELECT将如下所示(您知道了):


问题是什么。。。?
|TreeNo | TreeID  |   ErrorCode  | ErrorDescription
|ABC    | 123456  | INVALID_TREE | Tree doesn’t exist
|ABC    | 1234567 | INVALID_TREE | Tree doesn’t exist
SELECT x.*
FROM schema.mytable, XMLTABLE(
    '$CLOBColumn/TreeList'
    COLUMNS 
    TreeNo VARCHAR(10) PATH '@TreeNo',
    TreeID INT PATH 'Tree[@TreeID]',
    ...
) AS x
;