问题描述
所以我创建了一个具有数字列的测试表,该数字列是数据类型 数字(11,8)。 现在,当我尝试在表中插入值 13332 时,它会引发oracle错误,提示:
ORA-01438:值大于此列允许的指定精度
我不确定为什么。当我插入数据类型为Number(12,6)的列时,该方法同样有效
INSERT INTO MY_TABLE(COLUMN_1)
values('13332');
解决方法
原因是-在11位数字中,您指定了小数点后8位,因此对于整数部分(小数点前),您只能输入3位数字。
假设您要保留小数点后8位数字,则将数据类型定义为number(13,5)即可,该数字允许5位数字。