如何解决sql server中数值改变精度的问题

史蒂夫

我在一个数据库中有两个表。还有两个存储过程填充表。存储过程将数据从另一个数据库(在链接服务器中)插入到表中。我遇到的问题是:

每当插入新数据时,它就会失去精度。例如:源数据库中的'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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章