我有一列在表格中定义如下
td_long_shr_qty (numeric(18,6), null)
当我更新列时出现错误
UPDATE
fact
SET
td_long_shr_qty = 1720187931245.8069
WHERE
id = 29
将数字转换为数据类型数字的算术溢出错误。
此数字1720187931245.8069
是否有任何问题,因为它少于精度18,为什么会出现此错误。请帮助。
答案 0 :(得分:10)
NUMERIC(18, 6)
的含义是总共18个精度位,其中6个在小数点的右处(如果存在)。因此,这意味着该类型可以容纳的最大数量为:
999999999999.999999
1720187931245.8069
我故意从下面的查询中粘贴了您的电话号码,并与之对应,并取其最大可能值。显而易见,它已经超过了NUMERIC(18, 6)
的容量。