Oracle数据类型之number
来源:互联网 发布:软件系统接口设计方案 编辑:程序博客网 时间:2024/05/22 11:39
转自:http://www.blogjava.net/caojianhua/archive/2011/01/24/343461.html
number数据类型 Value Datatype Stored Value
number类型的语法很简单:number(p,s):
p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38。
s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。
p:is the precision,or the total number of digits. Oracle guarantees the portability of numbers with precision ranging from 1 to 38.
s:is the scale, or the number of digits to the right of the decimal point. The scale can range from -84 to 127.
number类型的p和s,与其底层存储完全没有关系,根本不会影响数据在磁盘上如何存储,它只会影响允许哪些值以及数值如何舍入,你可以认为其是对数据的“编辑”。简单的说,精度位p表示数值最多能有多少个有效数字,而小数位s表示最多能有多少位小数。换句话说,p表示一共有多少位有效数字(即小数点左边最多有p-s位有效数字),s表示小数点右边有s位有效数字。如number(5,2)类型的数据,就表示小数点左边最多有3位有效数字,右边最多有2位有效数字,加起来就是最多有5位有效数字,超过这个范围的数字就不能正确的存储下来,注意这里说的是不能正确存储,但并不是不能存储。
最高整数位数=p-s
s正数,小数点右边指定位置开始四舍五入
s负数,小数点左边指定位置开始四舍五入
s是0或者未指定,四舍五入到最近整数
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p位必须是0,保留s位小数。
p>0,对s分2种情况:
1. s>0
精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。
2. s<0
精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s|
具体数据可参考下表
123.2564
NUMBER
123.2564
1234.9876
NUMBER(6,2)
1234.99
12345.12345
NUMBER(6,2)
Error
1234.9876
NUMBER(6)
1235
12345.345
NUMBER(5,-2)
12300
1234567
NUMBER(5,-2)
1234600
12345678
NUMBER(5,-2)
Error
123456789
NUMBER(5,-4)
123460000
1234567890
NUMBER(5,-4)
Error
12345.58
NUMBER(*, 1)
12345.6
0.1
NUMBER(4,5)
Error
0.01234567
NUMBER(4,5)
0.01235
0.09999
NUMBER(4,5)
0.09999
0.099996
NUMBER(4,5)
Error
里面发生错误的行有的是因为源数据超过了可以表示的范围,有的是因为进行小数四舍五入后超过了可以表示的范围。
- 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数据类型
- Oracle NUMBER数据类型
- Oracle number数据类型!
- mysql中日期函数、时间函数
- GitHub 优秀的 Android 开源项目
- [leetcode]Binary Tree Right Side View
- C# 获取某月的第一天和最后一天
- 二维码生成以及识别(附Demo源码)
- Oracle数据类型之number
- iOS﹣ Autolayout NSLayoutConstraint
- android图形编辑和处理(五)
- 手游基本框架的介绍
- android消息机制
- js 表单验证及使用
- JAVA操作Ldap示例
- PHP date函数参数详解
- ubuntu下编译openjdk 并在eclipse调试hotspot