【问题标题】:Number format issue in OracleOracle中的数字格式问题
【发布时间】:2021-01-02 20:16:52
【问题描述】:

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

ORA-01438: 该列允许的值大于指定的精度

我不知道为什么。当我插入数据类型为 Number(12,6) 的列时,同样有效

INSERT INTO MY_TABLE(COLUMN_1)
values('13332');

【问题讨论】:

    标签: sql oracle oracle11g oracle12c sqldatatypes


    【解决方案1】:

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

    假设您想在小数点后保留 8 位数字,如果您将数据类型定义为 number(13,5),这将允许整数使用 5 位数字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-07
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2015-07-31
      • 1970-01-01
      相关资源
      最近更新 更多