如何在Oracle SQL中从BLOB获取文本内容
发布时间:2020-12-12 14:45:54 所属栏目:百科 来源:网络整理
导读:我试图从一个SQL控制台看到在Oracle BLOB里面是什么。 我知道它包含一个大的文本,我想只看到文本,但以下查询只表明在该字段中有一个BLOB: select BLOB_FIELD from TABLE_WITH_BLOB where ID = 'row id'; 我得到的结果不是我的预期: BLOB_FIELD ---------
我试图从一个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>'; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |