首頁  >  文章  >  資料庫  >  oracle怎麼轉換字段類型

oracle怎麼轉換字段類型

青灯夜游
青灯夜游原創
2022-03-02 17:18:0011997瀏覽

在oracle中,可以利用「ALTER TABLE MODIFY」語句來轉換欄位類型,語法為「ALTER TABLE table_name MODIFY(欄位名稱 新資料類型)」。

oracle怎麼轉換字段類型

本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

在oracle中,可以利用「ALTER TABLE MODIFY」語句來變更現有資料列的定義,例如修改欄位類型。

語法格式:

ALTER TABLE table_name MODIFY(字段名称 新数据类型)

例如:有一個表名為tb,字段段名為name,資料類型nchar(20)。

1、假設欄位資料為空,則不管改為什麼欄位類型,可以直接執行:

alter table tb modify (name nvarchar2(20));

2、假設欄位有數據,則改為nvarchar2(20)可以直接執行:

alter table tb modify (name nvarchar2(20));

3、假設字段有數據,則改為varchar2(40)執行時會彈出:“ORA-01439:要更改數據類型,則要修改的列必須為空”,這時要用下面方法來解決這個問題:

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

總結:

1、當欄位沒有資料或要修改的新型別和原型別相容時,可以直接modify修改。

2、當欄位有資料並用要修改的新型別和原型別不相容時,要間接新建欄位來轉移。

推薦教學:《Oracle教學

以上是oracle怎麼轉換字段類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn