精度和规模有什么区别?

时间:2011-04-16 20:24:54

标签: oracle types

Oracle的精度和规模有什么区别?在教程中,他们通常将标度留空,并在创建主键时将精度设置为6.

精度和规模代表什么?

7 个答案:

答案 0 :(得分:178)

精度4,比例2:99.99

精度10,比例0:9999999999

精密8,比例3:99999.999

精确度5,比例-3:99999000

答案 1 :(得分:55)

Precision是有效数字的位数。 Oracle保证数字的可移植性,精度范围为1到38.

Scale是小数点右(正)或左(负)的位数 点。比例范围可以从-84到127。

在您的情况下,精确度为6的ID表示不接受7位或更高位数的数字。

参考:

http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832

该页面还有一些例子可以帮助您了解精确度和比例。

答案 2 :(得分:49)

精确度是总位数。 比例是小数点后的位数。

实施例
NUMBER(7,5):12.12345
NUMBER(5,0):12345

答案 3 :(得分:28)

也许更清楚:

请注意,精度是总位数,包括刻度

  

NUMBER(精度,小数)

     

精确度5,比例3:54.321

     

精确度5,比例尺1:5432.1

     

精确度5,比例0:54321

     

精确度5,比例-1:54320

     

精度5,比例-3:54000

答案 4 :(得分:6)

小数位数是小数点后的位数(或冒号,取决于您的语言环境)

精度是有效数字的总数

scale VS precision

答案 5 :(得分:1)

precision:它的基数点之前或之后的位数。 例如:123.456 这里的精度是6。

小数位数:小数点后的总位数。 例如:123.456 这里Scaleis 3

答案 6 :(得分:-5)

如果值为9999.988且精度为4,则比例2则表示9999(表示精度).99(比例为2,因此.988舍入为.99)

如果值为9999.9887且精度为4,则scale为2则表示9999.99