我有一个下面的查询,我已在过程中使用此查询,并想将一个数字转换为正数,因为现在它是负数。
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 ×1