Oracle中數據類型number(m,n)


Oracle中數據類型number(m,n)中m表示的是所有有效數字的位數,n表示的是小數位的位數。m的范圍是1-38,即最大38位。

    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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM