Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tìm kiếm một chuỗi cụ thể trong cột Oracle clob

Sử dụng dbms_lob.instr và dbms_lob.substr, giống như các hàm InStr và SubstStr thông thường.
Hãy xem ví dụ đơn giản:

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. ORA-00904 Số nhận dạng không hợp lệ ”cho một số nhận dạng trong một nhóm theo mệnh đề

  2. Sao lưu trực tuyến Vs ngoại tuyến

  3. Có cách nào để buộc OracleCommand.BindByName trở thành true theo mặc định cho ODP.NET không?

  4. Cơ sở dữ liệu Oracle bị treo hoàn toàn trong các truy vấn CẬP NHẬT

  5. Hàm USER trong Oracle