Oracle中NUMBER类型如果不指定长度和小数点精度默认是多长
?http://otvety.google.ru/otvety/thread?tid=46ed8b35f29d2640
?
在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位向右的數字被舍入
總結
以上是生活随笔為你收集整理的Oracle中NUMBER类型如果不指定长度和小数点精度默认是多长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中float和double精度
- 下一篇: oracle 函数索引