# NULLIF And  IFNULL
__*NULLIF function*__
__*IFNULL function*__
+ `NULLIF(expr1, expr2)`: Tests whether**expr1** and**expr2** are equal 
+ `IFNULL(expr1, expr2)`: Returns the first non-empty**expr**    
+ For example:
  + `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()`  Build Null if/else
- `NULLIF()`  If expr1 = expr2, return NULL