有乙個表名為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、當字段有資料並用要修改的新型別和原型別不相容時,要間接新建欄位來轉移
***
dataframe中更改列屬性的方法
在讀取檔案時將整數變數讀成了字串,或者需要轉換列屬性時,通過方法 astype 舉例 dataframe.numbers dataframe.numbers.astype float province.id province.id.astype str 舉例 data read.csv data.c...
如何更改列的順序
前言 這種需要的很多,在網上看了很多種解決方法。這裡總結一下。為自己以後使用的時候,方便查詢 內容方法一 最簡潔的方法 order date time open high low close volumefrom volumeto df df order 12 比如說,這裡,就可以之保證列的順序是按...
ORACLE實現更改列欄位型別為CLOB
場景 更改表tbl mer base info r expand 中的qrcode data列欄位型別為clob型別 sql alter table tbl mer base info r expand add temp clob clob 給表新增乙個clob型別的列 update tbl mer...