我目前正在用 MS-SQL 编写将旧数据转换为新表,旧表中的变量之一是 int。在新表中,它必须是小数(10,3),因为现在正在输入数据。旧数据也有一些空值。当我使用 round 转换数据以生成新的小数时,出现错误:
消息 8115,级别 16,状态 8,第 1 行将 int 转换为数据类型 numeric 的算术溢出错误。
使用以下代码:
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