强制转换功能在更新查询中不起作用-出现算术溢出错误

时间:2018-07-13 15:48:47

标签: sql-server sql-update sqldatatypes

我遇到了一个关于流错误的算术运算的问题:

  

信息8115,第16级,状态8,第10行
  将数字转换为数据类型数字的算术溢出错误。

我在下面运行选择查询,它运行正常。我正在尝试更新Coitem_mst表。我正在使用下面显示的查询进行更新。

问题是我要更新的列的数据类型为DECIMAL(11,5)。我不确定如何压缩结果,以便可以插入。

样本值

  • Uf_UnitWeight = 24.60000、28.32000、14.76000
  • qty_ordered = 900.00000000、100.00000000、50.00000000

代码:

SELECT
    CAST((CAST(Uf_UnitWeight AS DECIMAL(11,5)) * 
       CAST(qty_ordered AS DECIMAL(19, 8))) AS DECIMAL(31, 13)) AS extweight 
FROM
    coitem_mst

UPDATE coitem_mst
SET Uf_ExtWeight = CAST((CAST(unit_weight AS DECIMAL(11, 5)) * 
                           CAST(qty_ordered AS DECIMAL(19, 8))) AS DECIMAL(31, 13))
WHERE Uf_ExtWeight IS NULL

0 个答案:

没有答案