Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle क्लॉब कॉलम में किसी विशेष स्ट्रिंग की खोज करें

नियमित InStr और SubstStr फ़ंक्शन की तरह ही dbms_lob.instr और dbms_lob.substr का उपयोग करें।
साधारण उदाहरण देखें:

SQL> create table t_clob(
  2    id number,
  3    cl clob
  4  );

Tabela zosta│a utworzona.

SQL> insert into t_clob values ( 1, ' xxxx abcd xyz qwerty 354657 [] ' );

1 wiersz zosta│ utworzony.

SQL> declare
  2    i number;
  3  begin
  4    for i in 1..400 loop
  5        update t_clob set cl = cl || ' xxxx abcd xyz qwerty 354657 [] ';
  6    end loop;
  7    update t_clob set cl = cl || ' CALCULATION=[N]NEW.PRODUCT_NO=[T9856] OLD.PRODUCT_NO=[T9852].... -- with other text ';
  8    for i in 1..400 loop
  9        update t_clob set cl = cl || ' xxxx abcd xyz qwerty 354657 [] ';
 10    end loop;
 11  end;
 12  /

Procedura PL/SQL zosta│a zako˝czona pomyťlnie.

SQL> commit;

Zatwierdzanie zosta│o uko˝czone.
SQL> select length( cl ) from t_clob;

LENGTH(CL)
----------
     25717

SQL> select dbms_lob.instr( cl, 'NEW.PRODUCT_NO=[' ) from t_clob;

DBMS_LOB.INSTR(CL,'NEW.PRODUCT_NO=[')
-------------------------------------
                                12849

SQL> select dbms_lob.substr( cl, 5,dbms_lob.instr( cl, 'NEW.PRODUCT_NO=[' ) + length( 'NEW.PRODUCT_NO=[') ) new_product
  2  from t_clob;

NEW_PRODUCT
--------------------------------------------------------------------------------
T9856


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LISTAGG () Oracle में फ़ंक्शन

  2. Oracle दिनांक TO_CHAR('माह DD, YYYY') में अतिरिक्त स्थान हैं

  3. Oracle इन-मेमोरी कॉस्ट

  4. डिलीट/लोड डेटा स्क्रिप्ट चलाने से पहले ऑरैकल डेटाबेस को लॉक करें

  5. Oracle में UTL_FILE पैकेज का उपयोग करके ExcelSheet में लेखन