小编otm*_*ons的帖子

想要将负数转换为正数

我有一个下面的查询,我已在过程中使用此查询,并想将一个数字转换为正数,因为现在它是负数。

 UPDATE SHIPMENT
        SET TOTAL_SHIP_UNIT_COUNT = (
          CASE
            WHEN V_SHIP_UNIT_COUNT > v_diff_cost
            THEN V_SHIP_UNIT_COUNT - v_diff_cost
            ELSE v_diff_cost       - V_SHIP_UNIT_COUNT
          END)
        WHERE SHIPMENT_GID = v_shipment_id;
        COMMIT;
Run Code Online (Sandbox Code Playgroud)

在此查询中,v_diff_cost的值为负,因此在执行( V_SHIP_UNIT_COUNT - v_diff_cost)操作时会将两个值相加,因此,如果我将v_diff_cost值转换为正,则在减去时将得到正确的结果。

假设V_SHIP_UNIT_COUNT值是33且v_diff_cost value是-10,则在这种情况下,它应按原样执行操作,33-10 = 23但应按原样执行操作33-(-10)= 43,这不应发生。

请帮助我。谢谢

sql-server

4
推荐指数
1
解决办法
2785
查看次数

标签 统计

sql-server ×1