oracle中number数据类型简单明了解释

本文详细解析了数据库中NUMBER(p,s)类型的使用方法,包括有效位数、小数位数的限制及四舍五入规则,并通过具体例子展示了不同情况下NUMBER类型的取值范围。

NUMBER (p,s)

p和s范围:

p 1-38

s -84-127

number(p,s),s大于0,表示有效位最大为p,小数位最多为s,小数点右边s位置开始四舍五入,若s>p,小数点右侧至少有s-p个0填充(必须从小数点处开始并连续)。

举例: number(2,1) 有效位最大为2,小数点后最多保留1位:

存1.115 得1.2

存1.11 的1.1

存1 得1

存0.01 得0

存11.1 得出错 有效位为3,大于2

存11 得出错 因为11等于11.0 有效位为3,大于2

number(2,4) 有效位最大为2,小数点后最多保留4位:

最大存值:0.0099,至少从小数点处开始并连续填充4-2=2个0,

如存1出错,因为1等于1.0000,有效位为5,大于2

number(p,s),s小于0,表示有效位最大为p+|s|,没有小数位,小数点左边s位置开始四舍五入,小数点左侧s位,每一位均为0。

举例: number(2,-3) 有效位最大为2+3=5,没有小数位:

存11111 得11000,因为11111等于11111.0,从小数点左侧3位处开始四舍五入。

存11545 得12000

存11545.5 得12000,

因为不存小数位,

所以舍去小数位 存99999 得出错,因为四舍五入后变为,100000,有效位为6,大于5

存9999 得10000

 

select to_char(0.1,'0.00009') nums from dual;

这是本人觉得很简单的解释了,如需更多详细解释,

请前往本人参考网址: http://www.blogjava.net/caojianhua/archive/2011/01/24/343461.html

转载于:https://www.cnblogs.com/kliine/p/9134177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值