各位帅哥求助,拜托
我是SQL2000初学者,请教其表设计器中的字段长度和精度到底有什么分别,我在设置numeric属性时,好像长度是几都无所谓,?能解释下吗?
我觉得就字段的长度和精度可以从字面的意思去记忆, 字段的长度,就是所占用的位数, 而字段的精度,就是字段所能够精确到的位数。 对于numeric型的数据解释如下:
带定点精度和小数位数的 numeric 数据类型。
decimal[(p[, s])] 和 numeric[(p[, s])]
定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。
p(精度)
指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。
s(小数位数)
指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。
精度 | 存储字节数 |
---|---|
1 - 9 | 5 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |