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
.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
部分内容来源于:http://dev.csdn.net/develop/article/70/70922.shtm
阅读(15779) | 评论(1) | 转发(1) |