sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo convertir CLOB a BLOB en Oracle?

Un código como este realizará una recodificación mínima:

create or replace function clob2blob(AClob CLOB) return BLOB is
  Result BLOB;
  o1 integer;
  o2 integer;
  c integer;
  w integer;
begin
  o1 := 1;
  o2 := 1;
  c := 0;
  w := 0;
  DBMS_LOB.CreateTemporary(Result, true);
  DBMS_LOB.ConvertToBlob(Result, AClob, length(AClob), o1, o2, 0, c, w);
  return(Result);
end clob2blob;
/

Pero CLOB no puede contener correctamente todos los datos de imagen sin ninguna codificación como Base64