MySQL的乘法选择取决于列的值

时间:2011-02-05 14:05:42

标签: mysql

在MySQL中,我想做一个select并得到一个和,但是乘法应该取决于其中一个列的值。所以这是常规声明:

SELECT col1*col2 AS sum

但是if col2 < 0,col2应该取0作为值,所以类似于:SELECT col1*(col2 < 0 ? 0 : col2) AS sum

我可以在MySQL中这样做吗?

2 个答案:

答案 0 :(得分:6)

任何乘以0的都是0,所以它比你要求的逻辑更简单:

SELECT CASE WHEN COL2 > 0 THEN COL1 * COL2 ELSE 0 END AS `sum`...

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

答案 1 :(得分:1)

在一个非常紧凑和优雅的解决方案

SELECT IF(col2>0,col1*col2,0) as SUM;