# `NULLIF` 和 `IFNULL` 

__*NULLIF 函数*__
__*IFNULL 函数*__

+ `NULLIF(expr1, expr2)`: 测试 **expr1** 和 **expr2** 是否相等 
+ `IFNULL(expr1, expr2)`: 返回第一个非空 **expr**    
+ 例如:
  + `select NULLIF('A','A'), NULLIF('A','B');` 
  + `select IFNULL('A','B'), IFNULL(17/0,'A');` 

```8
tidb> SELECT 
   -> NULLIF(~!@'A','A'@!~), 
   -> NULLIF(~!@'A','B'@!~);
+-----------------+-----------------+
| NULLIF('A','A') | NULLIF('A','B') |
+-----------------+-----------------+
|            NULL | A               |
+-----------------+-----------------+
1 row in set (0.00 sec)
tidb> SELECT 
   -> IFNULL(~!@'A'@!~,'B'), 
   -> IFNULL(~!@17/0@!~,'A');
+-----------------+------------------+
| IFNULL('A','B') | IFNULL(17/0,'A') |
+-----------------+------------------+
| A               | A                |
+-----------------+------------------+
1 row in set (0.00 sec)
```
-------------------------------------------------------------
- `IFNULL()`	构建 Null if/else
- `NULLIF()`	如果 expr1 = expr2, 返回 NULL