发布网友
共1个回答
热心网友
修改类型要求字段类型必须是为空。
要不您就建一个临时表把数据先备份过去吧
create table b
as
select * from a
之后清空a列或者全清空,然后再往回转,使用to_number把varchar2字段转化一下存回来。追问看来是没办法不删数据改类型了,唉!
追答呵呵,是啊,只能想一个方法来解决一下了。
您好,您这个问题,我想到了一个办法,先增加一个字段,别叫这个名,数字型的,然后把字符型转化成数字,更新到这个字段上去,删除字符型字段,再更改新增的字段的名字,就可以了。
alter table tablename add column newcolumn NUMBER(10);
UPDATE TABLENAME SET NEWCOLUMN = NVL(TO_NUMBER(OLDCOLUMN),0);
ALTER TABLE TABLENAME DROP COLUMN OLDCOLUMN;
ALTER TABLE TABLENAME RENAME NEWCOLUMN TO OLDCOLUMN;
假设之前的名字是OLDCOLUMN 字符型,先新增数字型NEWCOLUMN,更新NEWCOLUMN后,删除OLDCOLUMN,再把NEWCOLUMN改名为OLDCOLUMN