1

我有一张桌子,我可以在其中存储金额。当我曾经将这些值从我的那个表插入到另一个表时;价值观的变化。

在我的第一个表中,列“PRICE”的值为 130,但是当使用批量插入时,它在另一个表中插入为 129.60。

我的批量插入命令是:

Insert into InvoiceDetail(InvoiceId,AgentId,ProductCode,BrandId,Qty,Price,ProductType)
 Select SCOPE_IDENTITY(),'12736387',ProductCode,BrandId,Qty,M2CPrice,ProductType from 
UserPackages where AgentId='12736387'
4

1 回答 1

0

我建议您使用decimal/numeric而不是money因为钱不精确。您可以检查SQL Server 中是否应该选择 MONEY 或 DECIMAL(x,y) 数据类型?

请注意,MONEY数据类型存在舍入错误。性能明智的小数也更好。查看 Aaron Bertrand 的博客:性能/存储比较:金钱与十进制

于 2015-06-02T08:04:53.177 回答