ORACLE修改字段类型(急) ORACLE表里有记录,现在想修改表的某个字段的数据类型,该怎么改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> create table t(col_1 number(5)); Table created SQL> alter table t modify col_1 varchar2(10); Table altered SQL> --没有数据--如果表中有数据,那么另外创建一个表--将此表中的数据添加进去 给你说下大概思路,自己学习操作,个人觉得,有数据的情况下,最合理的方法是:1.增加一个新列FLAG12.UPDATE BIAO SET FLAG1 = 需要修改类型的字段;3.update biao set 需要修改的字段 = ''; 4.修改字段类型;5.update 表 set 需要修改的字段=flag1;6,DROP FLAG1 带有记录的表,修改字段类型,有很多主意事项:1.同类型的只可以扩展长度,不可以缩减精度2.没有约束的数据类型(long,clob,blob,row除外)可以转换为字符型,精度足以存放当前数据类型的长度SQL> create table t(col_1 varchar2(10 char),col_2 date); Table created SQL> SQL> insert into t(col_1,col_2) 2 values('qwertyuiop',to_date('2011-01-01','yyyy-mm-dd')); 1 row insertedSQL> insert into t(col_1,col_2) 2 values('1023546.78',to_date('2010-05-04','yyyy-mm-dd')); 1 row inserted SQL> commit; Commit complete SQL> alter table t modify col_1 number(10); alter table t modify col_1 number(10) ORA-01439: column to be modified must be empty to change datatype SQL> alter table t modify col_1 varchar2(15); Table altered SQL> alter table t modify col_2 varchar2(15); alter table t modify col_2 varchar2(15) ORA-01439: column to be modified must be empty to change datatype SSQL> alter table t modify col_1 varchar2(5); alter table t modify col_1 varchar2(5) ORA-01441: cannot decrease column length because some value is too big 如何准确判断有效视图?高手快来呀!!! oracle 连接时间的限制问题! 求一SQL语句 PL SQL 开发工具的问题 oracle subpartiton 问题 oracle高手救命!!!!! 从pl_sql写好的一个过程,一保存就到本地,如何放到oracle的procedures中(在线) pl/sql中 function 游标问题 一个简单的SQL语句问题,在线等待~ timestamp格式的日期时间格式怎么分别取成日期和时间格式? oracle求SQL语句 在一个表中如何重复统计多个字段
SQL> create table t(col_1 number(5));
Table created
SQL> alter table t modify col_1 varchar2(10);
Table altered
SQL> --没有数据--如果表中有数据,那么另外创建一个表
--将此表中的数据添加进去
个人觉得,有数据的情况下,最合理的方法是:1.增加一个新列FLAG1
2.UPDATE BIAO SET FLAG1 = 需要修改类型的字段;
3.update biao set 需要修改的字段 = '';
4.修改字段类型;
5.update 表 set 需要修改的字段=flag1;
6,DROP FLAG1
1.同类型的只可以扩展长度,不可以缩减精度
2.没有约束的数据类型(long,clob,blob,row除外)可以转换为字符型,精度足以存放当前数据类型的长度SQL> create table t(col_1 varchar2(10 char),col_2 date);
Table created
SQL>
SQL> insert into t(col_1,col_2)
2 values('qwertyuiop',to_date('2011-01-01','yyyy-mm-dd'));
1 row inserted
SQL> insert into t(col_1,col_2)
2 values('1023546.78',to_date('2010-05-04','yyyy-mm-dd'));
1 row inserted
SQL> commit;
Commit complete
SQL> alter table t modify col_1 number(10);
alter table t modify col_1 number(10)
ORA-01439: column to be modified must be empty to change datatype
SQL> alter table t modify col_1 varchar2(15);
Table altered
SQL> alter table t modify col_2 varchar2(15);
alter table t modify col_2 varchar2(15)
ORA-01439: column to be modified must be empty to change datatype
SSQL> alter table t modify col_1 varchar2(5);
alter table t modify col_1 varchar2(5)
ORA-01441: cannot decrease column length because some value is too big