与LOB挣扎

时间:2016-05-10 08:46:06

标签: sql oracle

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

<p>

1 个答案:

答案 0 :(得分:0)

SQL LIKE命令仅适用于varchar-type数据类型,如VARCHAR2。 Oracle必须将LOB转换为字符串才能运行查询,因此如果它无法使其符合字符串的最大大小,则会失败。

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

http://docs.oracle.com/database/121/ARPLS/d_lob.htm#ARPLS66715

但是这会很慢,因为你需要为表中的每一行调用它。

更好的选择是在列上添加Oracle Text索引并使用CONTAINS运算符。

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