博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle clob 数据类型查询显示 及 ORA-06502: numeric or value error: character string buffer too small...
阅读量:6497 次
发布时间:2019-06-24

本文共 926 字,大约阅读时间需要 3 分钟。

hot3.png

Oracle clob 数据类型查询显示:使用 oracle package dbms_lob的方法substr(),不传入参,例如:        select dbms_lob.substr(info.request) from D_REQUEST_QUEUE_INFO info where info.request is not null;    则会报如标题错误,字符缓冲区太小,就想到了如下方式。    如果传入参,则查询结果不会显示文本内容,例如:    select dbms_lob.substr(info.request,0,10) from D_REQUEST_QUEUE_INFO info where info.request is not null;    网上搜的时候,说的是实际值太大,而声明的值太小,如下:    官方文档http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/datatypes.htm,我看到了关于ORA-06502的错误的一些出现场景。    没有函数substr时,为什么会出现ORA-06502,就咨询了同事,同事说是测试和生产的oracle版本不同,于是我查询了版本,如下:    select * from v$version;    看到版本是一模一样的。只能是其他方面了,想到是不是有的clob记录长度太长,超过了substr的处理能力,试了好几次以后,如下:    select dbms_lob.substr(t.r) from (     select info.request r, dbms_lob.getlength(info.request) l from D_REQUEST_QUEUE_INFO info where          info.request is not null    ) t where t.l<3833;    找到了,长度只能是3833以下,如果超过了3833和以上,就会报字符缓冲区太小。

 

转载于:https://my.oschina.net/wliming/blog/1570925

你可能感兴趣的文章
redis hash操作 list列表操作
查看>>
利用Hibernate 框架,实现对数据库的增删改查
查看>>
mysql开启远程连接权限
查看>>
关于商米D1S,USB默认权限在关机后丢失的FAQ
查看>>
css3 text-transform变形动画
查看>>
scikit-learn中文api
查看>>
一个完整的大作业--广州市社会保障(市民)卡服务网
查看>>
迭代器和生成器
查看>>
Vue 组件之间传值
查看>>
指向方法之委托(一)
查看>>
2013 Multi-University Training Contest 3 部分解题报告
查看>>
Linux 网桥配置命令:brctl
查看>>
jQuery中异步操作对象Deferred
查看>>
MVC设计模式
查看>>
在团队项目遇到的问题及解决方法。
查看>>
springcloud demo---config-client
查看>>
Django设置联合唯一约束 -- migrate时报错处理
查看>>
Java LeetCode 1.Two Sum
查看>>
前端面试题:css相关面试题
查看>>
shell命令的高级使用之---选择性copy
查看>>