Oracle数据类型NUMBER

本文详细介绍了Oracle数据库中Number数据类型的使用方法,包括其语法、范围限制及如何指定精度和小数位数。通过多个实例展示了不同配置下Number类型的存储表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

p为有效位:从左边第一个不为0的数算起的位数。
s分三种情况:
s   >   0
      精确到小数点右边s位,并四舍五入。然后检验有效位是否   <=   p。
s   <   0
      精确到小数点左边s位,并四舍五入。然后检验有效位是否   <=   p   +   |s|。
s   =   0
      此时NUMBER表示整数。    

例子:
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) 
.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值