精度和尺度有什么区别?

Oracle中的精度和范围有什么区别? 在教程中,他们通常会将空值放在空白处,并在创build主键时将精度设置为6。

精度和尺度代表什么?

精度4,比例2:99.99

精度10,刻度0:9999999999

精度8,标度3:99999.999

精度5,比例-3:99999000

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

比例是小数点右边(正)或左边(负)的位数。 规模可以从-84到127。

在你的情况下,具有精度6的ID意味着它将不接受具有7个或更多有效数字的数字。

参考:

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

那个页面也有一些例子会让你理解精确度和规模。

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

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

也许更清楚:

请注意,精度是包括在内的总位数

NUMBER(精度,小数)

精度5,比例尺3:54.321

精度5,比例1:5432.1

精度5,刻度0:54321

精度5,刻度-1:54320

精度5,比例-3:54000

如果数值是9999.988和精度4,比例2则表示9999(表示精度).99(比例是2,所以.988被舍入为0.99)

如果值是9999.9887,精度是4,那么比例是2,那么这意味着9999.99