ORACLE clob转换成Blob类型

ORACLE 10G R2上
  测试通过。

  CREATE OR REPLACE FUNCTION C2B (b IN CLOB default empty_clob())

  RETURN BLOB

  -- typecasts BLOB to CLOB (binary conversion)

  IS

  res            BLOB;

  b_len          number  := dbms_lob.getlength(b) ;

  dest_offset1   NUMBER  := 1;

  src_offset1    NUMBER  := 1;

  amount_c       INTEGER := DBMS_LOB.lobmaxsize;

  blob_csid      NUMBER  := DBMS_LOB.default_csid;

  lang_ctx       INTEGER := DBMS_LOB.default_lang_ctx;

  warning        INTEGER;

  BEGIN

  if  b_len  > 0  then

  DBMS_LOB.createtemporary (res, TRUE);

  DBMS_LOB.OPEN (res, DBMS_LOB.lob_readwrite);

  DBMS_LOB.convertToBlob (res,

  b,

  amount_c,

  dest_offset1,

  src_offset1,

  blob_csid,

  lang_ctx,

  warning

  );

  else

  select   empty_blob()  into  res  from  dual ;

  end if ;

  RETURN res;                                             -- res is OPEN here

  END C2B;


 

 

本文转自 ☆★ 包罗万象网 ★☆ - http://www.baoluowanxiang.com 转载请注明出处,侵权必究!
原文链接:http://www.baoluowanxiang.com/a/website/database/2010/0531/917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值