Oracle 中的数字格式问题

Number format issue in Oracle

所以我创建了一个测试 table 具有数据类型的数字列 数字(11,8)。 现在,当我尝试在 table 中插入值 13332 时,它抛出一个 oracle 错误:

ORA-01438: value larger than specified precision allowed for this column

我不知道为什么。当我插入数据类型为 Number(12,6)

的列时同样有效
INSERT INTO MY_TABLE(COLUMN_1)
values('13332');

原因是 - 在 11 位数字中,您指定了小数点后的 8 位数字,因此对于整数部分(小数点前),您只能使用 3 位数字。

假设你想在你的情况下保留 8 位小数位 post 如果你将数据类型定义为 number(13,5) 它将工作,这将允许 5 位数字作为整数。