精度和规模有什么区别?

use*_*792 131 oracle types

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

精度和规模代表什么?

kol*_*aTM 189

精度4,比例2:99.99

精度10,比例0:9999999999

精度8,比例3:99999.999

精度5,比例-3:99999000

  • 你能解释一下负面尺度的行为吗? (12认同)
  • 请记住,精度始终包括比例部分.例如:Precision 4,scale 2 - 将失败任何数字> 99.9999 ..; 尝试:从双重选择强制转换(99.99999为NUMBER(4,2)); //好; 从双重选择强制转换(100.9为NUMBER(4,2)); //失败; (3认同)
  • 看起来像是舍入/忽略了十进制左边的许多整数值 (2认同)

man*_*lds 57

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

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

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

参考:

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

该页面还有一些例子可以帮助您了解精度和规模.

  • +1:我认为理解这一点的关键是理解内部数字格式 - 尾数和指数.精度限制尾数的可能长度,并且刻度对可能的指数最小值设置限制. (8认同)

Aym*_*man 52

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

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

  • 精度是总位数,而不是小数点左边的数字. (11认同)

Eri*_*sot 32

也许更清楚:

请注意,精度是包含比例的总位数

NUMBER(精度,小数)

精度5,比例3:54.321

精度5,比例1:5432.1

精度5,比例0:54321

精度5,比例-1:54320

精度5,比例-3:54000


yle*_*jen 13

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

精度是有效数字的总数

标度VS精度