前段时间遇到一个问题,需要更改一个表的带有数据的字段类型,需要将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;