当您收到ORA-19011错误时如何搜索字段?

时间:2014-05-20 16:34:02

标签: sql oracle

我正在尝试执行SQL查询以查找数据库中注释字段中具有值的所有项目。但是,当我这样做时,我收到以下错误,我不确定如何解决:

ORA-19011: Character string buffer too small
19011. 00000 -  "Character string buffer too small" 
*Cause:    The string result asked for is too big to return back
*Action:   Get the result as a lob instead

我使用的是如下:

select *
from 
actionLog al
where comments like '%GEM9_EM_SCFNY_TT%'

非常感谢任何有关如何修改我的查询的帮助。

由于 迈克尔

2 个答案:

答案 0 :(得分:0)

我无法找到任何方法来证实这一点,但我怀疑like运算符导致CLOB字段comments被隐式转换为{{ 1}}。由于varchar2太大,您会收到错误。您可以通过使用旨在使用CLOB数据类型的函数来解决此问题:

CLOB

答案 1 :(得分:0)

由于它是XMLTYPE,因此可以使用.getClobVal()函数。所以如果你这样做,你的代码应该可以工作:

select *
from 
actionLog al
where comments.getClobVal() like '%GEM9_EM_SCFNY_TT%'