oracle9i replace clob 的一個bug

changhe325發表於2012-03-21
最近發現在9i上 用replace函式 將clob中某一個字串替換成空(就是'')時的問題。應該算個bug吧。
在10g上已經解決。
 
連線到:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.8.0 - Production
 
bill_work@HBBILL> set serveroutput on
bill_work@HBBILL> DECLARE
  2  vs_clob clob := '>abcd
  3  vs_clob2 clob;
  4  vs_clob1 clob;
  5  vs_str varchar2(50):= '>abcd
  6
  7  BEGIN
  8
  9
 10  vs_clob1 :=  REPLACE(vs_clob,'>abcd
 11 vs_clob2 :=  REPLACE(vs_clob,'abcd','');
 12  vs_str := REPLACE(vs_str,'abcd','');
 13
 14  dbms_output.put_line(vs_clob1);
 15  dbms_output.put_line(vs_clob2);
 16  dbms_output.put_line(vs_str);
 17  END;
 18  /
><
>abcd<
><

PL/SQL 過程已成功完成。

連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

pooo_owner_user@POOO> set serveroutput on
pooo_owner_user@POOO>
pooo_owner_user@POOO> DECLARE
  2  vs_clob clob := '>abcd
  3  vs_clob2 clob;
  4  vs_clob1 clob;
  5  vs_str varchar2(50):= '>abcd
  6
  7  BEGIN
  8
  9
 10  vs_clob1 :=  REPLACE(vs_clob,'>abcd
 11  vs_clob2 :=  REPLACE(vs_clob,'abcd','');
 12  vs_str := REPLACE(vs_str,'abcd','');
 13
 14  dbms_output.put_line(vs_clob1);
 15  dbms_output.put_line(vs_clob2);
 16  dbms_output.put_line(vs_str);
 17  END;
 18  /
><
><
><

PL/SQL 過程已成功完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16923247/viewspace-719187/,如需轉載,請註明出處,否則將追究法律責任。

下一篇: 沒有了~
oracle9i replace clob 的一個bug
請登入後發表評論 登入
全部評論

註冊時間:2012-02-17

  • 博文量
    4
  • 訪問量
    3307

相關文章