現在、古いデータを新しいテーブルに変換するためにMS-SQLで書いていますが、古いテーブルの変数の1つはintです。新しいテーブルでは、現在データが入力されているため、10 進数 (10,3) である必要があります。古いデータにもいくつかのヌルがあります。ラウンドを使用してデータを変換して新しい小数を生成すると、エラーが発生します。
メッセージ 8115、レベル 16、状態 8、行 1 int をデータ型数値に変換中に算術オーバーフロー エラーが発生しました。
次のコードを使用します。
insert into Data_Exchange_Claims_History (Qty_Dispense)
select convert(decimal(10,3),round(ISNULL(Qty_Dispense, 0), 3))
from dbo.Data_Exchange_Claims_History_old c