函數說明
如果 expr1 為 TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的傳回值為 expr2;否則傳回值為 expr3。
IF()的傳回值規則同 CASE 表達式傳回值的規則。
示例
示例 1:expre1 的值不為 TRUE,傳回值為 expr3。
gbase> SELECT IF(1>2,2,3) FROM t;
+-------------+
| IF(1>2,2,3) |
+-------------+
| 3 |
+-------------+
1 row in set
示例 2:expre1 的值為 TRUE,傳回值為 expr2。
gbase> SELECT IF(1<2,'yes','no') FROM t;
+--------------------+
| IF(1<2,'yes','no') |
+--------------------+
| yes |
+--------------------+
1 row in set
示例 3:expr1 為表達式,值為 TRUE,傳回值為 expr2。
gbase> SELECT IF(STRCMP('test','test1'),'no','yes') FROM t;
+---------------------------------------+
| IF(STRCMP('test','test1'),'no','yes') |
+---------------------------------------+
| no |
+---------------------------------------+
1 row in set
示例 4:expr1 為表達式,值不為 TRUE,傳回值為 expr3。
gbase> SELECT IF(1>2,NULL,'no') FROM t;
+-------------------+
| IF(1>2,NULL,'no') |
+-------------------+
| no |
+-------------------+
1 row in set