
# 流程控制函数
#### IF
IF(expr1, expr2, expr3)
描述：如果expr1为TRUE（即expr1不等于0且expr1不为NULL），IF()返回expr2；否则，IF()返回expr3。
示例：
```
m_db=# SELECT IF(true, 'ab', 1);
 if
----
 ab
(1 row)
m_db=# SELECT IF(1>2, 1, NULL);
 if
----
(1 row)
m_db=# SELECT IF(NULL, 'TRUE', 'FALSE');
  if
-------
 FALSE
(1 row)
```
#### IFNULL
IFNULL(expr1, expr2)
描述：如果expr1不为NULL，IFNULL()返回expr1；如果expr1为NULL，IFNULL()返回expr2。
示例：
```
m_db=# select ifnull(12, 123);
 ifnull 
--------
     12
(1 row)
m_db=# select ifnull(null, 123);
 ifnull 
--------
    123
(1 row)
```
#### NULLIF
NULLIF(expr1, expr2)
描述：如果expr1等于expr2，返回空值；否则，返回expr1。
示例：
```
m_db=# select nullif(123, 123);
 nullif 
--------
(1 row)
m_db=# select nullif(12, 123);
 nullif 
--------
     12
(1 row)
```
