Oracle NUMBER型別細講

2021-08-25 17:48:48 字數 1649 閱讀 6602

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

number 型別資料列有效位數的計算:

1.s>=0,有效位數:p

2.s<0,有效位數:p+|s|

原文:在這裡謝謝任鵬帥(提供的幫助!

Oracle NUMBER型別研究

oracle提供了強大的資料型別number,他的格式為oracle number datatype 語法 number precision scale 其中簡稱 precision p scale s number p,s 範圍 1 p 38,84 s 127 儲存資料範圍 1.0e 130 nu...

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 1...

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 1...