oracle中clob字段处理

Enagle_Wang 2012-05-29 10:44:37
我在oracle存储过程中有一大字段类型(CLOB),如何将这个大字段类型的转成varchar2.
因为我在游标中,又用了这个大字段类型来拼装游标的SQL,结果oralce不认识。请大侠指点:
serarchSql :按条件拼装的查询SQL,其中包含了CLOB字段的数据
projectTableInfo :自定义游标
OPEN projectTableInfo FOR serarchSql;

结果两者一结合,oracle不认识,原本serarchSql是varchar2类型,里面包含了clob类型之后,oralce自动转换了变成了long类型。

妄求大侠指点!
...全文
397 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a2772624 2012-11-29
  • 打赏
  • 举报
回复
敢问楼主,是如何解决的啊?最近也遇到了同样的问题,能分享下不?
Enagle_Wang 2012-06-05
  • 打赏
  • 举报
回复
自己解决啦。。。
Enagle_Wang 2012-05-29
  • 打赏
  • 举报
回复
用dbms_lob.substr(<字段值>)转为varchar2
这个也不是办法,截取之后的字符串拼装在一起,oracle又给你转型啦
hyee 2012-05-29
  • 打赏
  • 举报
回复
用dbms_lob.substr(<字段值>)转为varchar2
xp630 2012-05-29
  • 打赏
  • 举报
回复
CREATE OR REPLACE FUNCTIon "BLOB_TO_VARCHAR" (blob_in IN BLOB)
RETURN VARCHAR2
IS

v_varchar VARCHAR2(4000);
v_start PLS_INTEGER := 1;
v_buffer PLS_INTEGER := 4000;

BEGIN


if DBMS_LOB.GETLENGTH(blob_in) is null then
return empty_clob();
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_start := v_start + v_buffer;
END LOOP;

RETURN v_varchar;

end blob_to_varchar;
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧