我试图IF
在我的SELECT
声明中包含一个,同时定义一个临时列。
这就是我现在正在尝试的:
SELECT *, IF A > 0, A, 0.5 AS Popularity FROM Visits
它是如何正确完成的?
我试图IF
在我的SELECT
声明中包含一个,同时定义一个临时列。
这就是我现在正在尝试的:
SELECT *, IF A > 0, A, 0.5 AS Popularity FROM Visits
它是如何正确完成的?
你想做:
SELECT *, IF (A > 0, A, 0.5) AS Popularity FROM Visits
您正在使用存储过程中使用的 IF 语法。对于 SELECT 使用,它必须是函数版本:
SELECT *, IF(A>0, A, 0.5) AS Popularity ...
在其他 DBMS 中工作的替代方案是
SELECT CASE WHEN ( a > 0 ) THEN a ELSE 0.5 END AS popularity FROM visits