Sql &引用;ORA-01438:大于此列允许的指定精度的值;插入3时
在尝试将除0以外的任何数字插入格式为数字(2,2)的字段时,我遇到了该错误 [错误代码:1438,SQL状态:22003]ORA-01438:值大于此列允许的指定精度Sql &引用;ORA-01438:大于此列允许的指定精度的值;插入3时,sql,oracle,Sql,Oracle,在尝试将除0以外的任何数字插入格式为数字(2,2)的字段时,我遇到了该错误 [错误代码:1438,SQL状态:22003]ORA-01438:值大于此列允许的指定精度 COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PCT_MERMA 3 NUMBER 2 0 2 如果我尝试使用十进制数,也会发生
COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
PCT_MERMA 3 NUMBER 2 0 2
如果我尝试使用十进制数,也会发生这种情况
知道为什么吗?数字(精度、刻度)
表示精度
总位数,其中刻度
位数在小数点的右边
数字(2,2)
换言之,表示一个有两位数字的数字,两位数字都是小数。您可以使用数字(4,2)
获得4位数字,其中2位是小数。目前,您可以只插入整数部分为零的值
.对于数据类型
数字(2,2)
,不能使用大于1的数字进行更新,因为第一个参数是数字中的总位数,第二个参数(.e.2)是小数部分的位数。我想您可以插入或更新数据<1
。i、 e.0.12、0.95等
请检查数字数据类型。如果您试图将值限制为一个范围或特定的整数,最好使用一个。
COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
PCT_MERMA 3 NUMBER 2 0 2