数据类型number(m,n)中n的具体含义是什么? oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n 表示的是小数位的位数。m 的范围是1-38,即最大38位。在些资料和网页上看到 n 的范围是-84--127,这表示的意思是什么,如何确定出 n 的这个范围?请各位前辈指教,谢过! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1>.NUMBER类型细讲:Oracle number datatype 语法:NUMBER[(precision [, scale])]简称:precision --> p scale --> sNUMBER(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.89123.89 NUMBER(3) 124123.89 NUMBER(6,2) 123.89123.89 NUMBER(6,1) 123.9123.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) .00000121.2e-4 NUMBER(2,5) 0.000121.2e-5 NUMBER(2,5) 0.00001123.2564 NUMBER 123.25641234.9876 NUMBER(6,2) 1234.9912345.12345 NUMBER(6,2) Error (有效位为5+2 > 6)1234.9876 NUMBER(6) 1235 (s没有表示s=0)12345.345 NUMBER(5,-2) 123001234567 NUMBER(5,-2) 123460012345678 NUMBER(5,-2) Error (有效位为8 > 7)123456789 NUMBER(5,-4) 1234600001234567890 NUMBER(5,-4) Error (有效位为10 > 9)12345.58 NUMBER(*, 1) 12345.60.1 NUMBER(4,5) Error (0.10000, 有效位为5 > 4)0.01234567 NUMBER(4,5) 0.012350.09999 NUMBER(4,5) 0.09999 关于建分区索引的问题哦 如果分区很多怎么办? 在单一的表中怎么提取相同名称的成员 菜菜鸟 我写的这个存储过程怎么报错啊? 高手帮着看一下pls_00103问题,急,在线等 请问一下各位,关于一台服务器建立多个Oracle数据库的问题 oralce 删除表 要求恢复 请教一个问题 日期格式update 请帮我看一下这种情况的SQL怎么写. 我在删除一个没有任何用户使用的表间时,为什么还会出错? 使用shutdown immediate 命令后执行startup mount命令报错,为何??? 请教一个在win2003域控制器上安装oracle10g的问题
Oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision --> p
scale --> sNUMBER(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