ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle数据值型数据改精度测试

oracle数据值型数据改精度测试

原创 Linux操作系统 作者:维在北京 时间:2010-12-31 11:56:46 0 删除 编辑

oracle数据值型数据改精度测试
===========================================================

今天,同事问我一个问题,一个字段定义原先是NUMBER(15,2),并且里面的数据都是整数,现

在想改成NUMBER
做了一个测试:
SQL> desc b
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
COL1 NUMBER(15,2) Y

SQL> select * from b;

COL1
-----------------

SQL> insert into b values(12);

1 row inserted

SQL> insert into b values(11.11);

1 row inserted

SQL> commit;

Commit complete

SQL> select * from b
2 ;

COL1
-----------------
12.00
11.11

SQL> alter table B modify COL1 NUMBER;

Table altered

SQL> select * from b;

COL1
----------
12
11.11

SQL>

可以看出,精度从小往大改是可以改的,以前是整数的改过来去掉小数位,以前是小数的,改

过来之后还是小数

SQL> desc b
Name Type Nullable Default Comments
---- ------ -------- ------- --------
COL1 NUMBER Y

SQL> alter table B modify COL1 NUMBER(15,2);

alter table B modify COL1 NUMBER(15,2)

ORA-01440: 要减小精度或标度, 则要修改的列必须为空

SQL>

可以看出要使精度从大往小改ORACLE是不允许的

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25136010/viewspace-683031/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-12-31

  • 博文量
    50
  • 访问量
    98224