宣言
NULLIF(expr1, expr2)
説明
expr1 = expr2 の条件が成り立つ場合、戻り値は NULL となります。条件が成り立たない場合は、expr1 の値が返されます。これは CASE WHEN
expr1 = expr2 THEN NULL ELSE expr1 END と同じです。ただし、パラメータが等しくない場合、両方の式で計算される値は expr1 となります。
例
obclient> SELECT NULLIF('ABC', 123), NULLIF('123',123), NULLIF(NULL, 'abc');
+--------------------+-------------------+---------------------+
| NULLIF('ABC', 123) | NULLIF('123',123) | NULLIF(NULL, 'abc') |
+--------------------+-------------------+---------------------+
| ABC | NULL | NULL |
+--------------------+-------------------+---------------------+
1 row in set, 1 warning