SQL> create table t (a number, y number);
表已创建。
SQL> insert into t (a) select to_number(rpad('9', rownum*2, '
2 from all_objects where rownum <= 14;
已创建14行。
SQL> update t set y = a + 1;
已更新14行。
SQL> select a, y ,vsize(a) v1, vsize(y) v2 from t order by a;
A Y V1 V2
------------------------------ ------------------------------ --- ---
99 100 2 2
9999 10000 3 2
999999 1000000 4 2
99999999 100000000 5 2
9999999999 10000000000 6 2
999999999999 1000000000000 7 2
99999999999999 100000000000000 8 2
9999999999999999 10000000000000000 9 2
999999999999999999 1000000000000000000 10 2
99999999999999999999 100000000000000000000 11 2
9999999999999999999999 10000000000000000000000 12 2
A Y V1 V2
------------------------------ ------------------------------ --- ---
999999999999999999999999 1000000000000000000000000 13 2
99999999999999999999999999 100000000000000000000000000 14 2
9999999999999999999999999999 10000000000000000000000000000 15 2
可以发现,Y始终占2个字节,A每增加2位有效数字就增加1个字节。number类型存储的是有效数字和小数点的位置,所以有效数字越多占用的空间越大。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25361369/viewspace-711084/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25361369/viewspace-711084/