转换CLOB字段类型为VARCHAR2

本文详细介绍了在数据库中将CLOB类型字段转换为VARCHAR2类型的过程,并提供了SQL语句及注意事项。包括如何通过建立临时字段、截取CLOB内容、删除原始CLOB字段以及重命名临时字段来实现转换。此外,还列出了不支持LOB类型的SQL语句及使用场景,以帮助开发者避免常见错误。

今天同事过来找我,她在创建 一个表的时候不小心把字段建成CLOB类型了,Order的时候不支持了,所以想转回来,还要保存里面的数据。给她提供了一个步骤:

1.建立一个临时varchar2字段用来保存数据

2.将clob的内容截取后更新到varchar2字段中

update table_wonder set tempcolumn = dbms_lob.substr(clobcolumn,4000);

3.drop掉clob字段

4.将临时varchar2字段改名

alter table table_wonder rename column tempcolumn to column;

另外rename语句在9.2以上版本支持,在pl/sql developer 7.0版本的command window中不支持,需要使用sqlplus。

列出lob类型不支持的sql语句

不支持的语句不支持的用法例子
SELECT DISTINCT

SELECT DISTINCT clobCol from...

SELECT clause           

ORDER BY

SELECT... ORDER BY clobCol

SELECT clause           

GROUP BY

SELECT avg(num) FROM...

GROUP BY clobCol

UNION, INTERSECT, MINUS           

(Note that UNION ALL works for LOBs.)

SELECT clobCol1 from tab1 UNION SELECT clobCol2 from tab2;

Join queries

SELECT... FROM... WHERE tab1.clobCol = tab2.clobCol

Index columns

CREATE INDEX clobIndx ON tab(clobCol)...

 

http://blog.youkuaiyun.com/wonder4/article/details/1465895

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值