Oracle中的数据类型——NUMBER

NUMBER类型概述

NUMBER类型可以用来存储0、正数、负数
数据范围是1×10-130 ~ 1 × 10126 ,不能等于或者大于1 × 10126 ,否则Oracle会报错(算数表达式的结果同理)

NUMBER类型的定义

NUMBER[(precision[, scale])]
precision —— 数据的有效位数(取值1~38)
scale —— 截取的小数点位(取值-84~127)
当精度超出定义的时候,两者都会做四舍五入操作
一个NUMBER类型的数据会占1~22个字节的数据

实际数据使用NUMBER类型在数据库中的存储

实际数据存储类型实际存储的值
123.89NUMBER123.89
123.89NUMBER(3)124
123.89NUMBER(5, 4)exceed precision1
123.89NUMBER(6, -2)100
3.8567NUMBER(5, 4)3.8567
3.85679NUMBER(5, 4)3.8568
3.8567NUMBER(6, -2)0

通过上面存储的值我们可以得出结论,当我们同时定义了数据有效位数和截取的小数点位的时候,数据库会按照要求处理数据最后判断数据是不是符合规则,符合规则直接存储,不符合规则的话则会报错


  1. NUMBER(5, 4)意为5位有效数字,小数点截取4位,123.89这个数字按照这个类型保存的数字是123.8900,有限数字已经有7位了,显然超出了定义的限制,故报错 ↩︎

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值