你可以先把類型為varchar的字段該名,再加以個字段為要該為date的字段名相同, 二, 1,測試表create table TEST(ID NUMBER not null, NAME VARCHAR2(20))ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名 ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段類型 ALTER TABLE SCOTT.TEST ADD ADD RESS VARCHAR2(40) --添加表列 ALTER TABLE SCOTT.TEST DROP COLUMN RESS--刪除表列三, ALTER TABLE gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64) 另建一個表,把varchar改成date,然后用SQL轉一下插入,然后刪除原表,然后改目標表名字。應該可以了。 四,
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的盤龍網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
好像不能直接轉,要把varchar2
類型
先轉成long
SQL
desc
test;
Name
Type
Nullable
Default
Comments
----
------------
--------
-------
--------
COL
VARCHAR2(10)
Y
SQL
alter
table
test
modify
col
long;
Table
altered
SQL
desc
test;
Name
Type
Nullable
Default
Comments
----
----
--------
-------
--------
COL
LONG
Y
SQL
alter
table
test
modify
col
clob;
Table
altered
SQL
desc
test;
Name
Type
Nullable
Default
Comments
----
----
--------
-------
--------
COL
CLOB
Y
--補充
樓主上面那做法。好像
沒辦法
一條
語句
完成
增加
字段
--update---刪原來字段---改
字段名
只能一步步的做
還有剛才先改long在改clob字段沒成功,我估計是
這張表現有數據不能做
類型轉換
的原因吧。
可以先創(chuàng)建
張表
備份
表在原數據放到這表中,然后再修改原表
字段類型,最后在把數據導入原表
試試看吧
因為業(yè)務需要 修要修改某個字段數據類型有number( ) 變?yōu)閚umber( )型
要是沒有數據的話直接用以下語句即可
alter?? table tb_test modify permile number( );
但是有數據的話 就不能用上面方法了
alter table tb_test add permile_temp number( )
update tb_test set permile_temp=permile;
alter table drop column permile;
alter table test rename column permile_temp to permile;
這種方法會使列名發(fā)生變化 而且字段順序增加 有可能發(fā)生行遷移 對應用程序會產生影響
以下方法是比較好的方法
不用使列名發(fā)生變化 也不會發(fā)生表遷移 但這個有個缺點是表要更新兩次
如果數據量較大的話 產生的undo和redo更多 前提也是要停機做
要是不停機的話 也可以采用在線重定義方式來做
以下是腳本:
alter table tb_test add permile_temp number;
Add/modify columns
alter table tb_test modify PERMILE null;
update tb_test set permile_temp=permile permile=null;
mit;
alter table tb_test modify permile number( );
update tb_test set permile=permile_temp permile_temp=null;
mit;
alter table tb_test drop column permile_temp;
alter table tb_test modify PERMILE not null;
lishixinzhi/Article/program/Oracle/201311/17913
用alter語句進行修改。
語法:
alter
table
表名
modify
字段名
字段類型(字段長度);說明:如果是date等沒有長度的類型,字段長度部分可以省略。
如:目前test表屬性如下
要將name列的字段類型改為date類型,可用如下語句:
alter
table
test
mo...