我正在尝试执行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%'
非常感谢任何有关如何修改我的查询的帮助。
由于 迈克尔
答案 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%'