BLOB类型转换成字符串类型

BLOB类型转换成字符串类型

    • blob_to_varchar2

一开始遇到这个问题的时候我走错了方向,一直没有解决,后来再网上找到了一个函数,亲测有效。

blob_to_varchar2

Create Or Replace Function Blob_To_Varchar (Blob_In In Blob) Return Varchar2 
IsV_Varchar Varchar2(4000); V_Start Pls_Integer := 1; V_Buffer Pls_Integer := 4000; 
BeginIf Dbms_Lob.Getlength(Blob_In) Is Null ThenReturn '';End If;For I In 1..Ceil(Dbms_Lob.Getlength(Blob_In) / V_Buffer) Loop--当转换出来的字符串乱码时,可尝试用注释掉的函数--V_Varchar := Utl_Raw.Cast_To_Varchar2(Utl_Raw.Convert(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start),'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'AMERICAN_THE NETHERLANDS.UTF8'));V_Varchar := Utl_Raw.Cast_To_Varchar2(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start));V_Start := V_Start + V_Buffer; End Loop;Return V_Varchar;
End Blob_To_Varchar;

将这个函数再执行一下,这里的列名就不再是BLOB类型了,一定要记得改成VARCHAR类型
- 关于 **Flowchart流程图** 语法,参考 [这儿][4].
在这里插入图片描述
这样查出来的结果就是字符串类型了。
本人也是个小白,第一次遇到这个问题的时候浪费了很长时间,所以记下来,希望可以帮助到大家。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部