本文介绍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)