oracle 限制类型 m,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   ~   22   bytes

有效位:从左边第一个不为0的数算起的位数。

s的情况:

s   >   0

精确到小数点右边s位,并四舍五入。然后检验有效位是否   <=   p。

s  

精确到小数点左边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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值