oracle number(5 2),【改】oracle中Number(precision, scale)的意义

number(p,s)

p:1~38

s:-84~127

p>0,对s分2种情况分析:

1. s>0

精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。

2. s<0

精确到小数点左边

s

+1位,并四舍五入。然后检验有效数位是否<=p+

s

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

Value

Datatype

Stored Value

123.2564

NUMBER

123.2564

1234.9876

NUMBER(6,2)

1234.99

12345.12345

NUMBER(6,2)

Error

1234.9876

NUMBER(6)

1235

12345.345

NUMBER(5,-2)

12300

1234567

NUMBER(5,-2)

1234600

12345678

NUMBER(5,-2)

Error

123456789

NUMBER(5,-4)

123460000

1234567890

NUMBER(5,-4)

Error

12345.58

NUMBER(*, 1)

12345.6

0.1

NUMBER(4,5)

Error

0.01234567

NUMBER(4,5)

0.01235

0.09999

NUMBER(4,5)

0.09999

0.099996

NUMBER(4,5)

Error​

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、付费专栏及课程。

余额充值