RT:
小弟学习Oracle不久,请问是否有方法可以更改表中的字段的数据精度Number(4,3)改为Number(4,4),此时表中的数据不丢失?? 多谢各位大哥,急!
小弟学习Oracle不久,请问是否有方法可以更改表中的字段的数据精度Number(4,3)改为Number(4,4),此时表中的数据不丢失?? 多谢各位大哥,急!
解决方案 »
- HIbernate 多对多 报“无标识符”
- Oracle 行转列、列转行的问题
- 在redhat 企业5中安装ORACLE 10G
- 同一语句在9i,和10G下查询结果不同,难道 1+1=2 ,3-1<>2么?
- 关于distinct的问题
- 急,批量替换问题,解决马上结帖!
- 各位朋友晚上好!我的数据库在倒入数据的时候遇到这样的警告 求助!!!
- 请教oracle中两个日期间数据的查询问题!
- 如何查看oracle11g在何时进行了表空间扩展
- 一个学生表,一个成绩表,成绩表中有每个学生m门课分数,大于60分算及格,查询及格率>=0.5学生数量
- 小妹有一问题请教!!! oracle查询问题!
- 受不了了,菜鸟求教:安装完ORACLE还要做什么工作?和一堆乱七八糟的问题。。。
比如原来存放的是1.234,那么而
number(4,4)代表的是0.1234。
除非要改为number(5,4)才不会
丢失数据。
----------
1.234SQL> alter table t modify x number(4,4);
alter table t modify x number(4,4)
*
第 1 行出现错误:
ORA-01440: 要减小精度或标度, 则要修改的列必须为空
SQL> alter table t modify x number(5,4);表已更改。SQL> select * from t; X
----------
1.234SQL>
1.如果有数据的话把Number(4,3)改为Number(4,4)会报错
2.有数据的时候只能往大了改,不能改小,可以改成Number(5,3)
直接 alter table t modify x number(4,4);
或者界面操作时候肯定会提示: 列有数据不能修改的只能新建列,把要该列update到新列
至于这个:number(4,4)会把原来数据截断啊。
比如原来存放的是1.234,那么而
number(4,4)代表的是0.1234。
除非要改为number(5,4)才不会
丢失数据。肯定同意