Oracle中数据类型number(m,n)
2016-03-09 14:24
507 查看
Oracle中数据类型number(m,n)
Oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数。m的范围是1-38,即最大38位。1> .NUMBER类型细讲:
Oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision --> p
scale --> s
NUMBER(p, s)
范围: 1 <= p <= 38,
-84 <= s <= 127
保存数据范围: -1.0e-130 <= number value < 1.0e+126
保存在机器内部的范围: 1 ~ 22 bytes
有效位:从左边第一个不为0的数算起的位数。
s的情况:
s > 0
精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
s < 0
精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
s = 0
此时NUMBER表示整数。
eg:
Actual Data Specified As Stored As
----------------------------------------
123.89 NUMBER 123.89
123.89 NUMBER(3) 124
123.89 NUMBER(6,2) 123.89
123.89 NUMBER(6,1) 123.9
123.89 NUMBER(4,2) exceeds precision (有效位为5, 5 > 4)
123.89 NUMBER(6,-2) 100
.01234 NUMBER(4,5) .01234 (有效位为4)
.00012 NUMBER(4,5) .00012
.000127 NUMBER(4,5) .00013
.0000
4000
012 NUMBER(2,7) .0000012
.00000123 NUMBER(2,7) .0000012
1.2e-4 NUMBER(2,5) 0.00012
1.2e-5 NUMBER(2,5) 0.00001
123.2564 NUMBER 123.2564
1234.9876 NUMBER(6,2) 1234.99
12345.12345 NUMBER(6,2) Error (有效位为5+2 > 6)
1234.9876 NUMBER(6) 1235 (s没有表示s=0)
12345.345 NUMBER(5,-2) 12300
1234567 NUMBER(5,-2) 1234600
12345678 NUMBER(5,-2) Error (有效位为8 > 7)
123456789 NUMBER(5,-4) 123460000
1234567890 NUMBER(5,-4) Error (有效位为10 > 9)
12345.58 NUMBER(*, 1) 12345.6
0.1 NUMBER(4,5) Error (0.10000, 有效位为5 > 4)
0.01234567 NUMBER(4,5) 0.01235
0.09999 NUMBER(4,5) 0.09999
相关文章推荐
- C#连接Oracle 11g 无需安装Oracle客户端
- Oracle存储过程发送邮件--3--发送邮件过程
- Oracle存储过程发送邮件--2--邮件内容服务器等信息
- Oracle存储过程发送邮件--1--创建ACL
- oracle report err:REP-2103 PL/SQL formula returned invalid value or no value
- Oracle新建数据库(新用户)
- Oracle用户和模式的区别
- DB Oracle rownum
- oracle笔记(约束)
- oracle删除表中数据(delete与truncate)
- Oracle的rownum原理和使用
- [转]Oracle 操作字符串的函数
- Oracle的缓冲区命令
- oracle 的安装和完全卸载
- Oracle绿色客户端(Instant Client)配置方法
- 经验分享:php连接oracle及thinkphp 3.2.2连接oracle
- ORACLE 实现行转列(字符串求和)
- oracle dblink 远程连接查询
- dmp文件导入Oracle数据库
- Oracle内部视图X$DBGALERTEXT 迅速定位ALTER.log信息