简介:
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;
文章介绍了如何调整Oracle数据库中字段的精度和长度。对于数字类型(NUMBER),通过添加临时列,更新数据,删除旧列,再创建新列来减少精度。对于字符串类型(VARCHAR2),当超过4000字节时,可以转换为CLOB类型,同样采用添加临时列,转移数据,然后替换原有列的方法。

3695

被折叠的 条评论
为什么被折叠?



