此问题已在此处有答案:
What is the difference between precision and scale?(8个回答)
上个月关门了。
我有一个包含几个NUMBER(precision, scale)
列的表:
CREATE TABLE num_test
(
n1 NUMBER(1, 0),
n2 NUMBER(2, 0),
n3 NUMBER(2, 1),
n4 NUMBER(3, 1),
n5 NUMBER(3, 2),
n6 NUMBER(4, 3),
n7 NUMBER(5, 4),
n8 NUMBER(6, 4),
n9 NUMBER(6, 4),
n10 NUMBER(10, 5),
n11 NUMBER(10, 9)
);
样本数据:
问题:
Oracle允许指定一个数字,其中scale
>= precision
,即
NUMBER(1, 5)
NUMBER(5, 5)
似乎不可能有一个精度为1,比例为5的数字。这类数字的一个例子是什么?
相关:
1条答案
按热度按时间vlju58qv1#
在他们的数据类型文档中写得很清楚:
比例可以大于精度,最常见的是使用e表示法。当小数位数大于精度时,精度指定小数点右侧的最大有效位数。例如,定义为NUMBER(4,5)的列要求小数点后的第一位数字为零,并对小数点后第五位数字之后的所有值进行四舍五入。
https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html