IFNULL(exp1, exp2)
简单的按照字面意思来记忆:如果exp1为null的话则使用exp2的值。可以把exp2理解为默认值的意思。
示例:
mysql> select IFNULL(null,1); +----------------+ | IFNULL(null,1) | +----------------+ | 1 | +----------------+ 1 row in set (0.07 sec)
mysql> select IFNULL(999,1); +---------------+ | IFNULL(999,1) | +---------------+ | 999 | +---------------+ 1 row in set (0.08 sec)
NULLIF(exp1, exp2)
还是按照字面意思来理解记忆:如果exp1等于exp2的话,则该值为null,否则则为exp1的值。
示例:
mysql> select NULLIF(1,1); +-------------+ | NULLIF(1,1) | +-------------+ | NULL | +-------------+ 1 row in set (0.07 sec)
mysql> select NULLIF(1,2); +-------------+ | NULLIF(1,2) | +-------------+ | 1 | +-------------+ 1 row in set (0.07 sec)