流程控制函数
IF
IF(expr1, expr2, expr3)
描述:如果expr1为TRUE(即expr1不等于0且expr1不为NULL),IF()返回expr2;否则,IF()返回expr3。
示例:
m_db=# SELECT IF(true, 'ab', 1); case ------ ab (1 row) m_db=# SELECT IF(1>2, 1, NULL); case ------ (1 row) m_db=# SELECT IF(NULL, 'TRUE', 'FALSE'); case ------- 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)