oracle的number类型

1.简介

一个可变长度的数据类型,使用四舍五入实现;

既可以存储整数,也可以存储小数;

2.使用语法

(1)可指定两个参数:

p : 精度位precision,数据的有效位;取值范围38;默认38;*表示38

s : 小数位scale,小数点右边的位数;取值范围-84~127;

默认:未指定p,默认s为最大范围;指定了p,默认s=0;

number    s为最大范围

number(p) == number(p,0),声明的是一个整数

number(p,s)

(2)最高整数位数=p-s

s正数,精确到小数点右边s位,四舍五入;

s负数,精确到小数点左边s位,四舍五入;

s是0或者未指定,四舍五入到最近整数;

(3)当一个数的整数部分的长度 > p-s 时,Oracle就会报错

(4)number类型的p和s,与其底层存储完全没有关系,根本不会影响数据在磁盘上如何存储,它只会影响允许哪些值以及数值如何舍入,你可以认为其是对数据的“编辑”。

3.使用参照表

实际值

数据类型

存储值

1234567.89

Number

1234567.89

1234567.89

Number(8)

1234567

1234567.89

Number(6)

出错

1234567.89

Number(9,1)

1234567.9

1234567.89

Number(9,3)

出错

1234567.89

Number(7,2)

出错

1234567.89

Number(5,-2)

1234600

1234511.89

Number(5,-2)

1234500

1234567.89

Number(5,-4)

1230000

1234567.89

Number(*,1)

1234567.9

0.012

Number(2,3)

0.012

0.23

Number(2,3)

出错

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值