ORACLE NUMBER類型詳解
1>.NUMBER類型細講:Oracle number datatype 語法:NUMBER[(precision [, scale])]簡稱:precision --> p scale;;--> s
NUMBER(p, s)范圍: 1 <= p <=38, -84 <= s <= 127保存數據范圍:-1.0e-130 <= number value < 1.0e+126保存在機器內部的范圍: 1 ~ 22 bytes
有效為:從左邊第一個不為0的數算起的位數。s的情況:s > 0 精確到小數點右邊s位,并四舍五入。然后檢驗有效位是否 <= p。s < 0 精確到小數點左邊s位,并四舍五入。然后檢驗有效位是否 <= p + |s|。s = 0 此時NUMBER表示整數。
eg:Actual DataSpecified As Stored As----------------------------------------123.89NUMBER 123.89123.89NUMBER(3);;124123.89NUMBER(6,2)123.89123.89NUMBER(6,1)123.9123.89NUMBER(4,2)exceeds precision (有效位為5, 5 > 4)123.89NUMBER(6,-2) 100.01234NUMBER(4,5).01234 (有效位為4).00012NUMBER(4,5).00012.000127;;;;NUMBER(4,5).00013.0000012;;;NUMBER(2,7).0000012.00000123;;NUMBER(2,7).00000121.2e-4NUMBER(2,5)0.000121.2e-5NUMBER(2,5)0.00001123.2564;;;NUMBER;;;;;123.25641234.9876;;NUMBER(6,2)1234.9912345.12345NUMBER(6,2)Error (有效位為5+2 > 6)1234.9876;;NUMBER(6);;1235 (s沒有表示s=0)12345.345;;NUMBER(5,-2) 123001234567;;;;NUMBER(5,-2) 123460012345678;;;NUMBER(5,-2) Error (有效位為8 > 7)123456789;;NUMBER(5,-4) 1234600001234567890;NUMBER(5,-4) Error (有效位為10 > 9)12345.58;;;NUMBER(*, 1) 12345.60.1NUMBER(4,5)Error (0.10000, 有效位為5 > 4)0.01234567;NUMBER(4,5)0.012350.09999;;;;NUMBER(4,5)0.09999
