Oracle Docs提到默认精度值为38,小数位数为0。
If a precision is not specified, the column stores values as given. If no scale is specified, the scale is zero.
但那里提到的表格(表 26-1)与声明相矛盾。
Input Data | Specified As | Stored As
7,456,123.89 | NUMBER | 7456123.89
如果默认比例为 0(小数点右边的位数),那么上面的数字如何存储为 2 个小数位。即 .89 还是我完全误解了默认比例的概念?
最佳答案
考虑四种不同的情况可能会更有帮助:
- 无精度或小数位数
NUMBER
- 精度和无刻度
NUMBER(9)
- 精度和小数位数
NUMBER(9,2)
- 仅缩放
NUMBER(*,2)
引用...
If no scale is specified, the scale is zero.
...指的是其中的第二个,其中指定了精度但没有指定比例,而不是第一个。
关于sql - Oracle 中 Number 列的默认 Scale 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44839328/