我在一个数据库中有两个表。还有两个存储过程填充表。存储过程将数据从另一个数据库(在链接服务器中)插入到表中。我遇到的问题是:
每当插入新数据时,它就会失去精度。例如:源数据库中的'amount'是51609.5265,sps插入一个表是51610.72,而在另一个表中它插入了正确的值。
另一个例子:源数据库中的'amount'是50739.71,一个表有50740.9,另一个有正确的值
获取金额的表的属性是 numeric(18,2),而 db 中为 sp 提供值的属性是money 类型。
有谁知道为什么会发生这种情况?
numeric(18,2) 表示 18 位数字,其中 2 位在小数位后。
将所有更改为 DECIMAL(20,4) 并查看您的问题是否已解决
注意:确保更改目标列的数据类型
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句