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].](https://img-blog.csdnimg.cn/20191029111656371.png)

这样查出来的结果就是字符串类型了。
本人也是个小白,第一次遇到这个问题的时候浪费了很长时间,所以记下来,希望可以帮助到大家。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
