数据库修改字段类型但是有旧数据处理步骤

开发过程中经常会遇到数据库已经存有数据,但经过测试发现原来的表设计中字段格式不合适的问题,现在把修改的步骤以及经验总结一下,以供参考查阅

1、修改原字段名name为name_tmp

alter table tablename rename column name to name_tmp;

2、增加一个和原字段名同名的字段name

alter table tablename add name nvarchar2(20);

3、将原字段name_tmp数据更新到增加的字段name 一定要显示进行数据类型转换
方式一:
mysql中

update tablename set name=CAST(name_tmp AS nvarchar2(20));

oracle中

update tablename set name=to_char(name_tmp);

方式二:

update tablename set name =trim(name_tmp );

4、提交数据

commit;

5、更新完,删除原字段name_tmp

alter table tablename  drop column name_tmp;

总结:
建表过程中,如果字段只用于基本保存,建议多使用VARCHAR2(32 BYTE)格式,避免出现数字,小数点,日期转换等问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值