南大通用GBase 8a判断函数IF的用法和使用例子

本文介绍GBase 8a数据库集群提供的IF判断函数的语法和使用样例。

语法

IF(expr1,expr2,expr3)

说明

如果 expr1 为 TRUE 则 IF()的返回值为 expr2,如果 expr1 取值为 FALSE、0 或NULL,则返回值为 expr3。
IF()的返回值规则同 CASE 表达式返回值的规则。

样例

expre1 的值为 FALSE

返回值为 expr3。

gbase> SELECT IF(FALSE,2,3) FROM dual;
+-------------+
| IF(FALSE,2,3) |
+-------------+
| 3 |
+-------------+
1 row in set

expre1 的值为 TRUE

返回值为 expr2。

gbase> SELECT IF(TRUE,'yes','no') FROM dual;
+--------------------+
| IF(TRUE,'yes','no') |
+--------------------+
| yes |
+--------------------+
1 row in set

expr1 为表达式,值为 TRUE

返回值为 expr2。

gbase> SELECT IF(1<2,'no','yes') FROM dual;
+---------------------------------------+
| IF(1<2,'no','yes') |
+---------------------------------------+
| no |
+---------------------------------------+
1 row in set

expr1 为表达式,值不为 TRUE

返回值为 expr3。

gbase> SELECT IF(1>2,NULL,'no') FROM dual;
+-------------------+
| IF(1>2,NULL,'no') |
+-------------------+
| no |
+-------------------+
1 row in set

exptr是null值

返回expr3。

gbase> select if(null,'NOT_NULL','IS_A_NULL');
+---------------------------------+
| if(null,'NOT_NULL','IS_A_NULL') |
+---------------------------------+
| IS_A_NULL                       |
+---------------------------------+
1 row in set (Elapsed: 00:00:00.00)

gbase>

exptr是空字符串

返回expr3。

gbase> select if('','NOT_NULL','IS_A_NULL');
+-------------------------------+
| if('','NOT_NULL','IS_A_NULL') |
+-------------------------------+
| IS_A_NULL                     |
+-------------------------------+
1 row in set (Elapsed: 00:00:00.00)