Sql 在CLOBXMLDB2上选择
我将此数据作为DB2中的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"/>
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
;