Mysql
 sql >> Base de données >  >> RDS >> Mysql

'IF' dans l'instruction 'SELECT' - choisissez la valeur de sortie en fonction des valeurs de colonne

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

Voir http://dev.mysql.com/ doc/refman/5.0/en/control-flow-functions.html .

De plus, vous pouvez gérer lorsque la condition est nulle. Dans le cas d'un montant nul :

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

La partie IFNULL(amount,0) signifie lorsque le montant n'est pas nul, renvoie le montant sinon renvoie 0 .