Oracle改動字段型別

2022-07-29 20:51:14 字數 487 閱讀 3318

因為需求變動。現要將乙個型別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;

Oracle 字段型別

oracle 字段型別 字段型別 描述字段長度及其預設值 char size 用於儲存定長 size 位元組的字串資料。每行定長 不足部分補為空格 最大長度為每行2000位元組,預設值為每行1位元組。設定長度 size 前需考慮字符集為單位元組或多位元組。varchar2 size 用於儲存變長的字...

Oracle欄位型別

oracle欄位型別 char 用於描述定長的字元型資料,長度 2000位元組 varchar2 用於描述變長的字元型資料,長度 4000位元組 nchar 用來儲存unicode字符集的定長字元型資料,長度 1000位元組 nvarchar2 用來儲存unicode字符集的變長字元型資料,長度 1...

oracle欄位型別

create table website.tab1 c1 varchar2 4 byte c2 char 3 byte c3 number,c4 integer,c5 date,c6 long varchar2 202 char 130 number 139 integer 131 date 135...