不可以
instr()是针对字符型函数操作
dbms_lob.insert() 是针对lob类弄操作

解决方案 »

  1.   

    但我对clob字段用instr也能出正确的结果呀
      

  2.   

    SQL> declare
      2    a clob:='111';
      3  begin
      4    if instr(a,'1')>0 then
      5    dbms_output.put_line('成功');
      6    end if;
      7  
      8  end;
      9  /
    成功PL/SQL procedure successfully completedSQL> declare
      2    a clob:='111';
      3  begin
      4    if dbms_lob.instr(a,'1')>0 then
      5    dbms_output.put_line('成功');
      6    end if;
      7  
      8  end;
      9  /
    成功PL/SQL procedure successfully completedSQL> declare
      2    a blob;
      3  begin
      4    if instr(a,'1')>0 then
      5    dbms_output.put_line('成功');
      6    end if;
      7  end;
      8  /declare
      a blob;
    begin
      if instr(a,'1')>0 then
      dbms_output.put_line('成功');
      end if;
    end;ORA-06550: 第 4 行, 第 6 列: 
    PLS-00306: 调用 'INSTR' 时参数个数或类型错误
    ORA-06550: 第 4 行, 第 3 列: 
    PL/SQL: Statement ignoredSQL> declare
      2    a blob;
      3  begin
      4    if dbms_lob.instr(a,'1')>0 then
      5    dbms_output.put_line('成功');
      6    end if;
      7  end;
      8  /PL/SQL procedure successfully completed以上数据,证实instr可以用在clob类型,但不能用blob类型