を選択した場合:expr1とはTRUE
(あるMySQLでのステートメントは、作品は次のように場合<a href="http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if" rel="nofollow">docs</a> Aに従って
IF(expr1の、expr2の、expr3は)
場合expr1 <>
0
およびexpr1 <>NULL
)IF()
はを返します。expr2;それ以外の場合はexpr3 [...]を返します。ここで
私の問題を表しランダムフィドルです:http://sqlfiddle.com/#!9/8076e2/1
は基本的に私が何をしようとしている以下の通りです:
SELECT IF(whatever, 1, 2) FROM testing WHERE whatever = 'abc';
私WHERE
に一致するが、レコードがあるので、基本的には、whatever
は0
またはNULL
と同じではありません。それではなぜ私は式3を結果として得ていますか?
可能な重複[?MySQLでは、なぜこのIFがfalseを返す](http://stackoverflow.com/questions/1423326/in-mysql-why:あなたは、SQL標準に従ってください-is-this-if-returning-false) –