ORACLE中的NUMBER类型的介绍

本文详细介绍了Oracle数据库中Number类型的使用方法,包括不同形式的声明及其应用场景,如定点数、整数和浮点数的定义,并解释了精度(p)和刻度(s)的概念及其在Number类型中的作用。

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

  • Number简单介绍 

        在Oracle中Number类型可以用来存储0,正负定点数或者浮点数,可表示的数据范围在1.0 * 10(-130) ~ 9.9...9 * 10(125) {38个9后边带88个0}的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。


  • Number的数据声明

表示
作用
说明
Number(p, s)
声明一个定点数
p(precision)为精度,即数据可接受的最长位数;s(scale)表示小数点右边,即小数位位数
Number(p)
声明一个整数
相当于Number(p, 0),即当s=0时,Number声明的是一个整数
Number
声明一个浮点数
用于表示一个浮点数,p和s都是oracle所能支持的最大值,即p=38,s=127(p的范围是1~38,s的范围是-84~127)。实际上对于这种p<s的情况只能用于存储一个大于0小于1的小数,且小数点后的0的个数至少是s-p个。

         有效数位 :从左边第一个不为 0 的数算起,到末位数字为止的所有数字,小数点和负号不计入有效位数。 

         例子: 

       Number(8,1)   存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全; 像这种p>s的情况,小数点前至少能插入p-s个数字,但是小数点后的数字可以任意长度(会自动舍入)。

       Number(8)      存储总长度为8的整数 


  • 定点数的精度(p)和刻度(s)遵循的规则

  当一个数的整数部分的长度 > p-s 时,Oracle就会报错;当一个数的小数部分的长度 > s 时,Oracle就会舍入。
      例:12345.12345   NUMBER(6,2)   Error

              12345.58      NUMBER(*, 1)   12345.6  


   当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。

      例:12345.345   NUMBER(5,-2)     12300 


   当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入

      

          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值