更改数据库表中有数据的字段类型NUMERIC(18,2)为NUMERIC(18,6)

前段时间遇到一个问题,需要更改一个表的带有数据的字段类型,需要将NUMERIC(18,2)为NUMERIC(18,6)

【1】oracel的写法为:

--第一步:把原字段换个名字

alter table wk_emp_charge_work rename column oper_time to oper_time1;

--第二步:在表中添加一个原字段名字oper_time,并把类型定义自己想改变的类型, 此条是定义NUMERIC(18,6)类型

alter table wk_emp_charge_work add oper_time NUMERIC(18,6);

--第三步:把备份的oper_time1字段内容 添加到新建字段oper_time中来

update wk_emp_charge_work set oper_time = oper_time1;

--第四步:把备份字段oper_time1去掉

alter table wk_emp_charge_work drop column oper_time1;

【2】sqlserver的写法为:

alter table wk_emp_charge_work alter column oper_time numeric(18,6) null;