如何在Oracle SQL中从BLOB获取文本内容

前端之家收集整理的这篇文章主要介绍了如何在Oracle SQL中从BLOB获取文本内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从一个sql控制台看到在Oracle BLOB里面是什么。

我知道它包含一个大的文本,我想只看到文本,但以下查询只表明在该字段中有一个BLOB:

select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';

我得到的结果不是我的预期:

    BLOB_FIELD
    -----------------------
    oracle.sql.BLOB@1c4ada9

那么,什么样的魔法咒语可以把BLOB变成它的文本表示?

PS:我只是想从sql控制台(Eclipse Data Tools)查看BLOB的内容,而不是在代码中使用它。

首先,您可能希望将文本存储在CLOB / NCLOB列中,而不是为二进制数据设计的BLOB(顺便说一下,您的查询将使用CLOB)。

如果所有字符集都兼容(存储在BLOB中的文本的原始CS,用于VARCHAR2的数据库的CS),则以下查询将允许您查看blob中的最多32767个字符(最多)

select utl_raw.cast_to_varchar2(dbms_lob.substr(BLOB_FIELD)) from TABLE_WITH_BLOB where ID = '<row id>';

猜你在找的Oracle相关文章