转换CLOB字段类型为VARCHAR2
2006-12-28 16:22
609 查看
今天同事过来找我,她在创建 一个表的时候不小心把字段建成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语句
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)... |
相关文章推荐
- 转换CLOB字段类型为VARCHAR2
- Oracle中Clob类型的字段数据转换成String字符串
- MS SQL Server数据库表int类型字段转换成定长varchar类型,长度不足前面补0
- 在TOMCAT中,以jndi方式操作clob字段时,类型转换异常的对策
- mybatis中将varchar字段类型修改为clob
- oracle数据库中将varchar2类型的字段改成clob类型 先将varchar2类型的字段改成long类型的,然后再将long类型改成clob类型
- 在TOMCAT中,以jndi(tomcat连接池)方式操作clob字段时,类型转换异常的对策
- ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型
- Oracle数据库中CLOB类型字段取出转换String类型方法
- ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型
- varchar2 字段转换成lob类型
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- Oracle数据库将varchar类型的字段改为clob类型
- oracle中blob字段转换成varchar类型
- 【转】将ORACLE数据库表中字段的varchar类型转为CLOB?
- oracle varchar2改成大字段类型clob,读取大字段内容
- ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型
- 将oracle字段,由varchar2类型变更为clob类型,报错
- Oracle 中Clob 字段,转换为 String 类型
- mysql 字段类型VARCHAR转换成DECIMAL