「-1」の値を持つ列を持つ MySQL DB があります。結果に対して foreach ループを実行せずに、SELECT 中にそれを「0」に変更するにはどうすればよいですか。基本的に、DB 値が -1 の場合、「表示」値を 0 にします。DB 値がそれ以外の場合は、変更せずに表示する必要があります。
何か案は???
App.net の友人は次のように言いました。
SELECT IF(mycol=-1, 0, mycol)
これは御馳走になるようです。:)
case ステートメントの別のオプションは、以下の IF 関数です。
//IF(expr,if_true_expr,if_false_expr)
SELECT IF(column = -1, 0, column) AS state FROM table
または、より短い構文の「IF」スカラー関数
SELECT IF (col = -1, 0, col)
FROM Tab
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if