我有一个 MySQL DB,其列的值有时为“-1”,如何在 SELECT 期间将其更改为“0”而不对结果执行 foreach 循环。基本上,如果 DB 值为 -1,我希望“显示”值为 0。如果 DB 值是其他任何值,则应不加修改地显示。
有任何想法吗???
App.net 上的一位朋友插话道:
SELECT IF(mycol=-1, 0, mycol)
这似乎是一种享受。:)
或“IF”标量函数用于更短的语法
SELECT IF (col = -1, 0, col)
FROM Tab
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if
然后 case 语句的另一个选项是 IF 函数,如下所示
//IF(expr,if_true_expr,if_false_expr)
SELECT IF(column = -1, 0, column) AS state FROM table