首页 > 解决方案 > 将 SQL 中的结果从正数更改为负数

问题描述

我正在使用以下代码将数据插入到 SQL 中的 Temp 表中:

SELECT bartt_code, bartt_code_description, mele_port_name, expiry_date, trade_price, trade_qty_in_lots, trade_qty, (trade_price*trade_qty) AS 'Price_x_Quantity'
INTO #Table1
FROM kst_exchange_trade
WHERE bartt_code IS NOT NULL
GROUP BY bartt_code, bartt_code_description, mele_port_name, expiry_date, trade_price, trade_qty_in_lots, trade_qty

我遇到了一个问题,当 trade_qty_in_lots 为负时,trade_qty 应该为负。我如何将其构建到我的查询中以进行此更改?

在此处输入图像描述

标签: sqlsql-server

解决方案


sign()函数将返回一个可用于匹配负/正的值。

sign(trade_qty_in_lots) * abs(trade_qty)

如果您可以保证trade_qty始终为正,那么绝对值自然是不必要的并且可以删除。


推荐阅读