一,
你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同,
二,
1,测试表
create table
TEST
(
ID NUMBER not null,
NAME
VARCHAR2(20)
)
ALTERTABLESCOTT.TESTRENAMETOTEST1--修改表名
ALTERTABLESCOTT.TESTRENAMECOLUMNNAMETONAME1 --修改表列名
ALTERTABLESCOTT.TESTMODIFYNAME1NUMBER(20)
--修改字段类型ALTERTABLESCOTT.TESTADDADDRESSVARCHAR2(40)
--添加表列ALTERTABLESCOTT.TESTDROPNAMECASCADECONSTRAINTS --删除表列
三,
ALTER TABLE
gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64)
另建一个表,把varchar改成date,然后用SQL转一下插入,然后删除原表,然后改目标表名字。应该可以了。
四,
--pa_t_engineering 表名
--ENGINEERING_INVE 要修改的列
--TEMP_ROWNAME 临时列名,用于存储数据(因为oracle修改时会弹出不能修改非空列)
ALTER TABLE pa_t_engineering RENAME COLUMN ENGINEERING_INVE TO
TEMP_ROWNAME;
ALTER TABLE pa_t_engineering ADD ENGINEERING_INVE NUMBER(18,2);
UPDATE pa_t_engineering SET ENGINEERING_INVE = CAST(TEMP_ROWNAME AS
NUMBER(18,2));
ALTER TABLE pa_t_engineering DROP COLUMN TEMP_ROWNAME; |