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代わりにを使用することをお勧めします。SQL Server で MONEY または DECIMAL(x,y) データ型を選択moneyする必要がありますか? を確認できます。

MONEYデータ型には丸め誤差があることに注意してください。また、パフォーマンスに関しては小数の方が優れています。Aaron Bertrand によるブログをチェックしてください: Performance / Storage Comparisons : MONEY vs. DECIMAL

于 2015-06-02T08:04:53.177 に答える