Oracle
 sql >> Database >  >> RDS >> Oracle

Come eseguire query sui dati di hugeblob

DBMS_LOB.substr() è la funzione giusta da usare. Assicurati che ci siano dati nella colonna.

Esempio di utilizzo:

-- create table
CREATE TABLE myTable (
id INTEGER PRIMARY KEY,
blob_column BLOB
);

-- insert couple of rows
insert into myTable values(1,utl_raw.cast_to_raw('a long data item here'));
insert into myTable values(2,null);

-- select rows
select id, blob_column from myTable;

ID  BLOB_COLUMN
1   (BLOB)
2   null

-- select rows
select id, DBMS_LOB.substr(blob_column, 1000,1) from myTable;

ID  DBMS_LOB.SUBSTR(BLOB_COLUMN,1000,1)
1   61206C6F6E672064617461206974656D2068657265
2   null

-- select rows
select id, UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.substr(blob_column,1000,1)) from myTable;

ID  UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BLOB_COLUMN,1000,1))
1   a long data item here
2   null