CASE函数格式如下:
CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2][ELSE rn] END
该函数表示,如果expr值等于某个vn,可以是等于v1或v2…vn,则返回对应位置THEN后面的结果。如果与所有值都不相等,则返回ELSE后面的rn。
示例一:
使用CASE value WHEN
语句执行分支操作,输入语句如下:
SELECT CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
输出:
+------------------------------------------------------------+
| CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END |
+------------------------------------------------------------+
| two |
+------------------------------------------------------------+
1 row in set (0.02 sec)
示例二:
使用 CASE WHEN
语句执行分支操作,输入语句如下:
SELECT CASE WHEN 1<0 THEN 'true' ELSE 'false' END;
输出:
+--------------------------------------------+
| CASE WHEN 1<0 THEN 'true' ELSE 'false' END |
+--------------------------------------------+
| false |
+--------------------------------------------+
1 row in set (0.03 sec)