精确度和尺度命名背后的原因是什么?

时间:2018-05-24 14:17:18

标签: sql sql-server oracle sybase

我有很多麻烦,理解为什么在数据库类型中以这种方式调用精度和比例。

我看到精度和尺度不同。

我的观点中的精确度

对我而言,精确度是右侧有多少位数。例如, 1 不如 1,0001 精确。

在我的观点中扩大

比例是一个数字可以上升或下降的程度。 例如, 0 - 1000 0 - 10 更大。 或者甚至 0 - 1,0 0 - 1 更大。

数据库中的精确度和量表

然而,在数据库词典中它具有不同的含义,精度是数字中的数字总和,并且缩放右边的位数。

我总是忘记这两个词的含义,因为我无法理解它们。

希望你们可以帮助我,理解为什么这样被称呼

1 个答案:

答案 0 :(得分:3)

如果考虑数字在科学记数法中的表现,也许会更容易。

X * 10^Y

其中X在小数点前有一位数。

现在,这个数字有多大(它的"比例")从根本上由Y决定。我们是在数着?百万?千分之一?那是规模。

无论数字的绝对比例如何,X中的数字都会决定我们的确切程度。我能区分1.1和1.2吗?我可以区分1.1百万和1.2百万吗?我可以区分1.1千分之一和千分之一千分之一吗?所有都是等价的 - 两位数(包括小数点前的一位)的精度。

如果我可以将1.01百万与1.00百万分开,那比仅仅能够区分0.1百万就更精确了;这是精确度的3位数。

但是1.01 * 10 ^ -3 比1.01 * 10 ^ 10更精确;它只是在较小的规模上运作。

除此之外,我不知道你想要什么。好的,你已经告诉我们你想说的是什么意思;但那不是他们的意思。这就是他们的意思。

更新 - 我应该提及的另一件事。似乎规模和精度在某种程度上是混合在一起的,因为如果我们采取一个物理的例子,肯定距离靶心#1; 1毫米#34;比距离靶心1米远更精确,对吧?

但请记住,精度和比例描述变量的数据类型,而不是特定的测量。如果以米为单位进行测量,我们就无法从靶心中快速地显示" 1毫米。精度小于4位数(" 0.001米");但是我们可以描述距离靶心1米的距离#34;精度为1位数。所以这实际上符合我们的愿望,即距离靶心1毫米的距离#34;不知怎的更精确。