2013-07-17 49 views
1

如何显示此sql查询的其余xml,因为varchar2仅限于2000?Oracle SQL显示blob内容大于varchar2最大限制

列味精是包含压缩XML
每一行都会有不同的信息长度从500到6000个字节至少

select utl_raw.cast_to_varchar2(dbms_lob.substr(utl_compress.lz_uncompress(xml.msg),2000,1)) as XML_Msg from xml_table xml; 

这可能是一个可行的解决方案Convert Blob to Varchar datatype斑点,但我不知道它会对我的数据库做些什么。

回答

0

在Oracle MAX中您可以从blob数据类型中检索到的是4000字节,下面是可以做这项工作的表述。两周前我遇到了同样的问题,请参阅我的帖子了解更多详情。 Java Class for retrieving Large String from Oracle_db of LOB dataType

Select dbms_lob.substr(BLOB_FieldName, 4000, 1) 
    from Database name Where [Condition]; 
+0

嗨StackUnderFlow,BLOB列没有一个固定的长度,因为有我需要提取一些超过4000个字节别人远低于500谢谢你帮了与 – dimas

+0

@dimas不同的XML字符串这个SQL语句你将能够检索字符串的第一个4000字节。这可能是临时解决方案,如果你想要整个字符串我相信你将不得不使用“结果集”作为我的帖子descibed。 – zee

+0

我不是在java中执行此操作,而是在SQL Developer中;) – dimas