为什么number(16,2)不能存储99999999999999.99  
       number(15,2)能存储9999999999999.99
操作15位不能按正常的概念理解 ,不知道什么原因

解决方案 »

  1.   

    Oracle 的 number 数据类型存储最大的数值是2的38次方你看看你的第一个数是不是超过了这个数
      

  2.   

    create table test(f number(16,2));
    insert into test values(99999999999999.99);测试完全没有问题
      

  3.   

    create table test(f number(16,2));
    insert into test values(99999999999999.99);
    select * from test;
    变成:100000000000000.0015位的不会
      

  4.   

    不是表的问题
    select 99999999999999.99 as f1,9999999999999.99 as f2 from dual
    /*
    F1 F2
    100000000000000 9999999999999.99
    */