mysql clob转varchar_如何将Clob类型改成Varchar类型?

你的位置:

问答吧

-> Oracle

-> 问题详情

如何将Clob类型改成Varchar类型?

我从Mysql 导入到oracle数据表,以前的Mysql用的text类型的变成clob类型,

我想把现在oracle中clob类型改成varchar,不成功,在 10.2G的里面不行,数据库表中已经有数据了

作者: zhp

发布时间: 2010-11-07

1、新增一列varchar2类型,varchar2类型最大4000:alter table test add(c varchar2(4000));

2、将clob列数据更新到新增列:update test set c=clob_col;

3、删除clob列:alter table test drop column clob_col;

4、将新增列名更改回原来列名:alter table test rename column c to clob_col;

作者: tangren

发布时间: 2010-11-07

能不能用程序直接改,因为数据太多了180W的数据,导库太费时间

作者: zhp

发布时间: 2010-11-07

CREATE OR REPLACE FUNCTION clob_to_varchar(data CLOB) RETURN VARCHAR2 IS

buffer VARCHAR2(4000);

amt BINARY_INTEGER := 4000;

position INTEGER := 1;

l_var VARCHAR2(4000):='';

BEGIN

LOOP

IF dbms_lob.getlength(data)<=4000 THEN

dbms_lob.READ (data, amt, position, buffer);

l_var := l_var||buffer;

position:=position+amt;

ELSE

l_var:= 'Cannot convert to varchar2..Exceeding varchar2 field limit';

EXIT;

END IF;

END LOOP;

RETURN l_var;

EXCEPTION

WHEN NO_DATA_FOUND THEN

RETURN l_var;

END;

这是高手给我写的程序,但是clob_to_varchar(data CLOB)中的data CLOB是什么参数

作者: zhp

发布时间: 2010-11-07

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值