Oracle如何在同一张表中把a字段的数据赋值b字段
问题描述:新建的person表中原来的createtime是时间类型date ,
后需把createtime改为VARCHAR2(500),但是因为person表中已经存在数据,不能直接需要字段类型,表中数据为空可直接需改字段类型。此时如何修改a字段的值:
解决方案:
1.新增备用字段:
ALTER Table dbgl_projinfo Add createtime2 VARCHAR2(500);
2.执行赋值sql:时间类型需要格式化
update person a SET a.createtime2=TO_CHAR(a.createtime,'YYYY-MM-DD');
3. 确认两个字段值是否相同
SELECT TO_CHAR(createtime,'YYYY-MM-DD')AS createtime,createtime2 FROM dbgl_projinfo;
4.如相同删除原来的字段createtime, 修改createtime2为createtime
---删除原来的字段 alter table person drop column createtime; ---修改新字段名为原来的字段名 alter table person rename column createtime2 to createtime;