使用批量插入时,我在money列中的值会更改

时间:2015-06-02 08:00:18

标签: sql-server-2008 bulk-import

我有一张桌子,我把钱存入金钱。当我以前将该表中的值插入另一个表时;价值变化。

在我的第一个表值列表中' 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'

1 个答案:

答案 0 :(得分:0)

我建议您使用decimal/numeric代替money,因为钱不准确。您可以查看Should you choose the MONEY or DECIMAL(x,y) datatypes in SQL Server?

请注意,MONEY数据类型存在舍入错误。性能明智的小数也更好。查看Aaron Bertrand的博客:Performance / Storage Comparisons : MONEY vs. DECIMAL