【发布时间】:2019-10-03 10:03:54
【问题描述】:
我正在尝试使用以下查询提取 BLOB 变量。
select utl_raw.cast_to_varchar2(BLOB_VAR) from Dual
但是我遇到了一个错误。
ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 4060, maximum: 2000)
如果可以提取大于 4000 个字符的 BLOB 值,请让我们看看,因为 varchar2 的限制是 4000。
我尝试使用 concat 选项
select concat(concat(utl_raw.cast_to_varchar2(dbms_lob.substr(BYTES_,2000,1)),utl_raw.cast_to_varchar2(dbms_lob.substr(BYTES_,2000,2001))),utl_raw.cast_to_varchar2(dbms_lob.substr(BYTES_,2000,4001)))from ACT
但我得到了这个错误
01489. 00000 - result of string concatenation is too long```
Is there any way to get a longer string value?
【问题讨论】:
-
在这里查看问题和答案stackoverflow.com/questions/56129728/…
-
嗨@vijay kumar,您可以在此链接上找到完全相同错误的解决方案:stackoverflow.com/questions/25518780/…
-
嗨@F.Lazarescu 我不能使用程序。有什么方法可以不使用程序。
标签: oracle plsql blob concat varchar2