oracle的number数据类型
来源:互联网 发布:南京行知中学地址 编辑:程序博客网 时间:2024/06/05 22:33
number类型的语法很简单:number(p,s):
p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38。
s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。
最高整数位数=p-s
s正数,小数点右边指定位置开始四舍五入
s负数,小数点左边指定位置开始四舍五入
s是0或者未指定,四舍五入到最近整数
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p位必须是0,保留s位小数。
注:value是输入数据,NUMBER(x,y)是数据类型,stroed value是在数据库中实际储存的值
p>0,s可以细分四种:
1. s = 0:
此时strod value值就是value整数部分。而且value的整数位不能大于p
例如:value = 1234.345 ,NUMBER(5) ,stored value=1234
value = 123456 , NUMBER(5), stroed value = error
2. s > 0 && s < p:
此时stroed vlue整数部分就是value的整数部分,stroed value 的小数部分是vaule小数向右s位。而且value的整数位不能大于p
例如:value = 1234.354 , NUMBER(5,2) , stroed value = 1234.35
value = 1234.3, NUMBER(5,2) , stroed value = 1234.3
value = 125234.34, NUMBER(5,2) , stroed value = error
3. s > 0 && s > p :
此时 stroed value < 0,且小数点后面有效数字位数最大为p,小数位数最大为s
例如:value = 0.00123 , NUMBER(2,4) , stroed value = 0.0012
value = 0.003 , NUMBER(2,4) , stroed value = 0.003
value = 0.0425 , NUMBER(2,4) , stroed value = eror
4. s < 0:
此时 stroed value >= 0,且整数部分有效数字位最大为p。如果value < |s| * 10 ,那么stroed value = 0 ;如果value > |s| * 10 ,那么stroed value> |s| * 10
例如:value = 12 , NUMBER(4,-2) , stroed value = 0
value = 122 , NUMBER(4,-2) , stroed value = 100
value = 123456 , NUMBER(4,-2) , stroed value =123400
value = 1234567 , NUMBER(4,-2) , stroed value = error
下面是一个参考表:
DateType
stroed value
1234567.89
Number
1234567.89
1234567.89
Number(8)
1234567
1234567.89
Number(6)
error
1234567.89
Number(9,1)
1234567.9
1234567.89
Number(9,3)
error
1234567.89
Number(7,2)
error
1234567.89
Number(5,-2)
1234600
1234511.89
Number(5,-2)
1234500
1234567.89
Number(5,-4)
1230000
1234567.89
Number(*,1)
1234567.9
0.012
Number(2,3)
0.012
0.23
Number(2,3)
error
如果想自己在oracle中验证,可以建一个如下面图片一样的table进行验证:
- oracle的number数据类型
- oracle的number数据类型
- 【Oracle】oracle的number数据类型
- oracle number数据类型的精度
- oracle中的number数据类型的浅析
- oracle number数据类型
- ORACLE NUMBER数据类型
- Oracle NUMBER数据类型
- Oracle number数据类型!
- Oracle数据类型NUMBER
- Oracle数据类型之number
- ORACLE NUMBER数据类型
- Oracle number数据类型
- Oracle数据类型之number
- Oracle数据类型之number
- ORACLE中的Number数据类型
- Oracle数据类型之number
- Oracle数据类型之number
- javascript数值转换
- LeetCode 143. Reorder List
- Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能
- POJ1064 Cable master[二分]
- javascript词法结构
- oracle的number数据类型
- LeetCode 147. Insertion Sort List
- 第十六周 项目3-归并排序算法的改进
- wordpress实现文章阅读次数
- 数据结构(三) 单链表的排序 ----按插入方法排序(带头节点)
- JAVA基础知识--BigDecimal类
- Zend Framework 2 学习教程链接
- 学习CDN!
- LeetCode 148. Sort List