oracle调整数据库字段精度,字符串长度

文章介绍了如何调整Oracle数据库中字段的精度和长度。对于数字类型(NUMBER),通过添加临时列,更新数据,删除旧列,再创建新列来减少精度。对于字符串类型(VARCHAR2),当超过4000字节时,可以转换为CLOB类型,同样采用添加临时列,转移数据,然后替换原有列的方法。
摘要由CSDN通过智能技术生成

简介:

oracle调整数据库字段精度,字符串长度,举两个例子:

1、数字类型number,原来设置的精度比较大,现在要调小

2、字符串类型varchar2,存储的字段超过4000了,仍然存不下

原理:

新增一个需要类型的列,将原数据转移,新列改成老列的名字

脚本1,保留两位小数

alter table oracle_table_name add (column_temp number(20,2));
update oracle_table_name set column_temp = round(oracle_table_column,2);
alter table oracle_table_name drop column oracle_table_column;
alter table oracle_table_name add (oracle_table_column number(20,2));
update oracle_table_name set oracle_table_column = column_temp;
alter table oracle_table_name drop column column_temp;

脚本2,增加字符存储长度

alter table oracle_table_name add (column_temp CLOB);
update oracle_table_name set column_temp = oracle_table_column;
alter table oracle_table_name drop column oracle_table_column;
alter table oracle_table_name add (oracle_table_column CLOB);
update oracle_table_name set oracle_table_column = column_temp;
alter table oracle_table_name drop column column_temp;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值