SELECT子句中的Mysql IF语句?

时间:2012-09-14 05:04:35

标签: mysql if-statement

我正在尝试在我的IF语句中包含SELECT,同时定义一个临时列。

这就是我现在正在尝试的事情:

SELECT *, IF A > 0, A, 0.5 AS Popularity FROM Visits

如何正确完成?

3 个答案:

答案 0 :(得分:3)

你想这样做:

SELECT *, IF (A > 0, A, 0.5) AS Popularity FROM Visits

答案 1 :(得分:2)

您正在使用存储过程中使用的IF语法。对于SELECT使用,它必须是function version

SELECT *, IF(A>0, A, 0.5) AS Popularity ...

答案 2 :(得分:2)

在其他DBMS中有效的替代方法是

SELECT CASE WHEN ( a > 0 ) THEN a ELSE 0.5 END AS popularity FROM visits