修改Oracle中的某一带有数据的列的数据类型

因为昨天去别的公司维护数据,到了之后导完数据才发现,表中的要素内容这一列是空的,刚开始我以为是数据有问题,后来才发现表中的数据的类型是CLOB类型的,而如果直接拿EXCLE中的数据是类型不匹配的,这时候就问了领导,领导说把CLOB类型改成varchar2类型的,不多说了上步骤:

因为该列中已经存有数据,所以需要如下:

*修改原字段名*/
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
/*添加一个和原字段同名的字段*/
ALTER TABLE 表名 ADD 字段名  VARCHAR2(30);
/*
将原来的数据更新到新字段中
这是要注意,一定要显示进行数据类型转换(不同于MSSQL)
*/
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
/*删除原来的备份字段*/
ALTER TABLE 表名 DROP COLUMN 字段名1;

本文出自 “会话” 博客,请务必保留此出处http://7720365.blog.51cto.com/7710365/1559715

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。