oracle中number数据类型简单学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chen_jia_hao/article/details/80520608
NUMBER (p,s) 
p和s范围:
p 1-38 

s -84-127

(1)如果s大于0:

这时number(p,s),表示有效位最大为p,小数位最多为s,小数点右边s位置开始四舍五入。
举例:
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

(2)如果s小于0
number(p,s),表示有效位最大为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

猜你喜欢

转载自blog.csdn.net/chen_jia_hao/article/details/80520608