来看看xmltype的效果,根据根节点,找到最终的叶子节点。 select extract(xmltype(c_cml),"/ObjectInfo/Relations/RelationInfo/RelatedObjects/RelatedObjectInfo") a, id from aa where id=5;
更进一步,把xml标记进行清除。可以直接使用replace SQL> select replace(extract(xmltype(c_cml),"/ObjectInfo/Relations/RelationInfo/RelatedObjects/RelatedObjectInfo"),"<RelatedObjectInfo objID="","") a, 2 id 3 from aa where id=5;
A ID ---------------------------------------------------------------------------------------------------- -------- ##PC4.0##118146"/>##PC4.0##30369"/>##PC4.0##118145"/>##PC4.0##118211"/>##PC4.0##117696"/>##PC4.0##11 5 9094"/>##PC4.0##118203"/>##PC4.0##118133"/>##PC4.0##118135"/>##PC4.0##118583"/>##PC4.0##30313"/>##PC 4.0##30310"/>##PC4.0##110154"/>##PC4.0##30317"/>##PC4.0##30314"/>##PC4.0##30315"/>##PC4.0##30318"/># #PC4.0##118131"/>##PC4.0##30309"/>##PC4.0##118160"/>##PC4.0##119101"/>
然后直接清除尾部标记。 SQL> select replace(replace(extract(xmltype(c_cml),"/ObjectInfo/Relations/RelationInfo/RelatedObjects/RelatedObjectInfo"),"<RelatedObjectInfo objID="",""),""/>",",") a, 2 id 3 from aa where id=5;
A ID ---------------------------------------------------------------------------------------------------- -------- ##PC4.0##118146,##PC4.0##30369,##PC4.0##118145,##PC4.0##118211,##PC4.0##117696,##PC4.0##119094,##PC4 5 .0##118203,##PC4.0##118133,##PC4.0##118135,##PC4.0##118583,##PC4.0##30313,##PC4.0##30310,##PC4.0##11 0154,##PC4.0##30317,##PC4.0##30314,##PC4.0##30315,##PC4.0##30318,##PC4.0##118131,##PC4.0##30309,##PC 4.0##118160,##PC4.0##119101,这样就能很快实现需求,把clob的数据当做xml来做处理,当然了对于clob的数据格式也是有一些限定的。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址