首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与LOB搏斗

与LOB搏斗
EN

Stack Overflow用户
提问于 2016-05-10 08:46:05
回答 1查看 41关注 0票数 0

我正在努力弄清楚如何在一个LOB中进行搜索。我尝试了以下操作,但得到了ORA-19011:字符串缓冲区太小,错误

代码语言:javascript
复制
select * from gtpintr_data.sagadata sa where SA.DATA like '4780471';
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-11 01:11:30

SQL命令仅适用于varchar类型的数据类型(如VARCHAR2 )。Oracle必须将LOB转换为字符串才能运行您的查询,因此,如果它不能使其适应字符串的最大大小,它将失败。

您可以在PL/SQL程序中使用DBMS_LOB.INSTR

lob.htm#ARPLS66715

但是这将是缓慢的,因为您需要为表中的每一行调用它。

另一种更好的方法是在列上添加Oracle文本索引并使用CONTAINS操作符。

http://docs.oracle.com/database/121/CCREF/toc.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37133418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档