【发布时间】:2017-01-17 11:35:55
【问题描述】:
我有一个具有 BLOB 数据类型的表。我想获取 BLOB 的值并将其转换为 Varchar2 或字符串文本可读格式。我正在使用下面的代码。预期的结果只是一个字符串 varchar2。但是它返回我无法阅读的特殊字符。 SQL:
select UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(MY_FIELD_BLOB_TYPE))
from MY_BLOB_TABLE
where MY_BLOB_TABLE_ID = 12345
;
结果:
?p?C?.a?I?8gb?!??2f??mc?c?:0?:b?n?7i?1M9s????S?a?6gv?a]?y ?m??-;???r??2n?B?20???S?4n??l?%d???EM?9 ?q???3 ?m??d? ???3e???[??M1o?n???m??'????9m??????%?`??;n???a?X??????7 >9v???|?m???n?9i???4H??o??k????N?.u???2xk?6y@??c?G??U??? ?#B????????5~?Gc?$????My?u??b????????T???1fb?_??k?ek??? wk Hi???S?t???>??&i?p??
【问题讨论】:
-
那么是预期的输出是什么?
-
你在 BLOB 中存储了什么?这些是不必包含文本的二进制数据类型...
-
大家好,我期待一个没有 RTF 格式的字符串文本输出。我可以使用我看不到代码的 3rd 方应用程序查看预期的字符串文本输出。所以这些值只是纯字符串。