在论坛看到一个有趣的帖子,是关于ORACLE的NUMBER类型溢出的。
原文出自:http://www.itpub.net/thread-984938-1-1.html
Oracle的数值类型NUMBE包括0、正数和负数。
其中正数的范围是从1E-130到9.9999999999999999999999999999999999999E125。
而负数的范围是从-1E-130到-9.9999999999999999999999999999999999999E125。
Oracle的数值范围是由于NUMBER类型的存储结构决定的,下面看一下这些边界数值的DUMP值就会明白:
SQL> SELECT DUMP(1E-130) FROM DUAL;
DUMP(1E-130)
!q/nO
ti]5v Bv0------------------ITPUB个人空间k gq6w8x'YCU
Typ=2 Len=2: 128,2
SQL> SELECT DUMP(0) FROM DUAL;
DUMP(0)ITPUB个人空间o;V/X"ZQl
E
----------------
"a~p-JF.O`0Typ=2 Len=1: 128
SQL> SELECT DUMP(9.9999999999999999999999999999999999999E125) B FROM DUAL;
B
RmJ!b&I;V`
V0-------------------------------------------------------------------------------------------ITPUB个人空间\L4y2O%m;YUx4d
Typ=2 Len=20: 255,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
SQL> SELECT DUMP(-1E-130) FROM DUAL;
DUMP(-1E-130)ITPUB个人空间,B+Gq5C(Ii!HXJ
------------------------