小编典典

'SELECT' 语句中的 'IF' - 根据列值选择输出值

all

SELECT id, amount FROM report

我需要amountamountifreport.type='P'-amountif
report.type='N'。如何将此添加到上述查询中?


阅读 112

收藏
2022-03-02

共1个答案

小编典典

SELECT id, 
       IF(type = 'P', amount, amount * -1) as amount
FROM report

请参阅http://dev.mysql.com/doc/refman/5.0/en/control-flow-
functions.html。

此外,您可以在条件为空时进行处理。在金额为空的情况下:

SELECT id, 
       IF(type = 'P', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount
FROM report

该部分IFNULL(amount,0)表示 当数量不为空时返回数量,否则返回 0

2022-03-02