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 Data   Specified As Stored As
----------------------------------------
123.89           NUMBER         123.89
123.89           NUMBER(3)     124
123.89           NUMBER(6,2)   123.89
123.89           NUMBER(6,1)   123.9
123.89           NUMBER(4,2)   exceeds precision (有效位爲5, 5 > 4)
123.89           NUMBER(6,-2) 100
.01234           NUMBER(4,5)   .01234 (有效位爲4)
.00012           NUMBER(4,5)   .00012
.000127       NUMBER(4,5)   .00013
.0000012      NUMBER(2,7)   .0000012
.00000123     NUMBER(2,7)   .0000012
1.2e-4           NUMBER(2,5)   0.00012
1.2e-5           NUMBER(2,5)   0.00001
123.2564      NUMBER        123.2564
1234.9876     NUMBER(6,2)   1234.99
12345.12345   NUMBER(6,2)   Error (有效位爲5+2 > 6)
1234.9876     NUMBER(6)     1235 (s沒有表示s=0)
12345.345     NUMBER(5,-2) 12300
1234567       NUMBER(5,-2) 1234600
12345678      NUMBER(5,-2) Error (有效位爲8 > 7)
123456789     NUMBER(5,-4) 123460000
1234567890    NUMBER(5,-4) Error (有效位爲10 > 9)
12345.58      NUMBER(*, 1) 12345.6
0.1           NUMBER(4,5)   Error (0.10000, 有效位爲5 > 4)
0.01234567    NUMBER(4,5)   0.01235
0.09999       NUMBER(4,5)   0.09999

發佈了9 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章