NULLIF(expr1,expr2)
expr1 = expr2 が true の場合は NULL を返し、それ以外は expr1 を返します。これは、CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END と同様です。
expr1 = expr2
NULL
expr1
CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END
mysql> SELECT NULLIF(1,1); -> NULL mysql> SELECT NULLIF(1,2); -> 1
SELECT NULLIF(1,1);
SELECT NULLIF(1,2);
MySQL は、引数が等しくない場合、expr1 を 2 度評価しますのでご注意ください。