Oracle NUMBER資料型別

2021-05-01 10:06:15 字數 805 閱讀 2958

在oracle中number型別可以用來儲存0,正負定點或者浮點數,可表示的資料範圍在

1.0 * 10(-130) —— 9.9...9 * 10(125)

的數字,當oracle中的數學表示式的值》=1.0*10(126)時,oracle就會報錯。

number的資料宣告如下:

表示 作用 說明

number(p, s) 宣告乙個定點數 p(precision)為精度,s(scale)表示小數點右邊的數字個數,精度最大值為38,scale的取值範圍為-84到127

number(p) 宣告乙個整數 相當於number(p, 0)

number 宣告乙個浮點數 其精度為38,要注意的是scale的值沒有應用,也就是說scale的指不能簡單的理解為0,或者其他的數。

定點數的精度(p)和刻度(s)遵循以下規則:

 當乙個數的整數部分的長度 > p-s 時,oracle就會報錯

 當乙個數的小數部分的長度 > s 時,oracle就會捨入。

 當s(scale)為負數時,oracle就對小數點左邊的s個數字進行捨入。

 當s > p 時, p表示小數點後第s位向左最多可以有多少位數字,如果大於p則oracle報錯,小數點後s位向右的數字被捨入

補充: 

number(p, s):s表示小數點後位數,p-s表示數值允許位數:

若p-s為負數,則表示小數點後第|p-s|+1位開始允許有值;

若p-s為正數,則表示小數點前(p-s)位開始允許有值。

exp:number(1,2)允許的數範圍為0.01~0.09

Oracle number資料型別

number precision,scale precision表示數字中的有效位 如果沒有指定precision的話,oracle將使用38作為精度。如果scale大於零,表示數字精確到小數點右邊的位數 scale預設設定為0 如果scale小於零,oracle將把該數字取捨到小數點左邊的指定位數...

ORACLE NUMBER丟失精度

oracle的number可以支援到38位精度。超過15位存進去,就用科學記數法表示的,而且精度丟失了。例 1234567890123456 插入後 1.23456789012346e15 123456789025587.22 插入後 123456789025587.00 補足 此處的精度丟失是,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...