Oracle数值型类型Number(p,s)详解

Oracle的number(p,s)数据类型中,p代表所有有效数字的最大位数,s表示小数位数。p的范围1-38,s的范围-84-127。当s>0,精确到小数点后s位;s<0,精确到小数点前s位;s=0表示整数。定义字段时未指定s,默认为0。

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

Oracle中数据类型number(p,s)中p表示所有有效数字的位数且从左数第一非零位开始,s表示小数位的位数。注:p的范围是1-38位,s的范围是-84-127位。

例如:

number(5,2)类型的数据,表示整数部分有3位(p-s)有效数字,小数部分有2位(s)有效数字,加起来最多有5位(p)有效数字。

number(4,-3)类型的数据,有效位一共4位,精确到小数点前3位。

number(4,5)类型的数据,就表示小数部分第1位(s-p)必须是0,小数部分有5位有效数字(s),共4位有效值(p)。也就是只能是这个格式0.01234最大只能是0.09999

即当 s>0时:

精确到小数点后s位,并四舍五入。再校验有效位是否满足<=p。

当 s<0时:

精确到小数点前s位,并四舍五入。再校验有效位是否满足 <= p + |s|。

当s=0时:

此时number表示整数。

当定义字段类型时,用默认number。Oracle将使用precision(p)38作为精度,scale(s)默认设置为0。

下面是例题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值