天天看點

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;