Oracle NUMBER 数据类型中的精度和小数位数是啥意思
Posted
技术标签:
【中文标题】Oracle NUMBER 数据类型中的精度和小数位数是啥意思【英文标题】:What does precision and scale means in the Oracle NUMBER data typeOracle NUMBER 数据类型中的精度和小数位数是什么意思 【发布时间】:2012-05-26 13:31:59 【问题描述】:我一直在阅读 Oracle DB 初学者指南。精度和规模的定义相当混乱。 书上说:
number(6,3)
Oracle allows for 2 not 6 significant digitalis.
我的问题是,6 表示精度。这意味着有效数字的数量。所以它应该接受 6 位有效数字。为什么书上说是2位有效数字
我指的书是Oracle Database 11g A Beginner's Guide by McGraw Hill Professional, Dec 18, 2008,第12页
【问题讨论】:
【参考方案1】:查看在线Oracledoc:
p 是精度,或最大有效小数位数 数字,其中最重要的数字是最左边的非零 位,最低有效位是最右边的已知数字。 Oracle 保证数字的可移植性,精度高达 20 个 base-100 数字,相当于 39 或 40 个十进制数字 取决于小数点的位置。
s 是小数位数,或从小数点到小数点的位数 最低有效位。范围可以从 -84 到 127。
正数是右边的有效位数 小数点到并包括最低有效数字。
负数是左边的有效位数 小数点,但不包括最低有效位。为了 负刻度最低有效位在左侧 小数点,因为实际数据是四舍五入到指定的 小数点左边的位数。例如,一个 (10,-2) 的规格意味着四舍五入到数百。
【讨论】:
以上是关于Oracle NUMBER 数据类型中的精度和小数位数是啥意思的主要内容,如果未能解决你的问题,请参考以下文章