浏览 4619 次
锁定老帖子 主题:ORACLE NUMBER类型详解
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-11
最后修改:2009-12-13
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 .0000012 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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |