Oracle中NUMBER類型不指定長度和小數點精度與指定的區別!

在Oracle中Number類型可以用來存儲0,正負定點或者浮點數,可表示的數據範圍在
  1.0 * 10(-130) —— 9.9...9 * 10(125) {38個9後邊帶88個0}
的數字,當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位向右的數字被舍入

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