由於需求變動,現要將一個類型NUMBER(8,2)的字段類型改為 char。
大體思路如下:
將要更改類型的字段名改名以備份,然後添加一個與要更改類型的字段名同名的字段(原字段已經改名),然後更新數據,最後刪除改名備份的字段。
以下操作在 Oracle 10.2.0.1.0 中通過。
/*修改原字段名*/
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
/*添加一個和原字段同名的字段*/
ALTER TABLE 表名 ADD 字段名 VARCHAR2(30);
/*
將原來的數據更新到新字段中
這是要注意,一定要顯示進行數據類型轉換(不同於MSSQL)
*/
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
/*刪除原來的備份字段*/
ALTER TABLE 表名 DROP COLUMN 字段名1;