11.5.4 CASE expr WHEN函数
对于CASE expr WHEN value1 THEN result1 [WHEN value2 THEN result2…] ELSE default END,如果expr的值与某个WHEN后面的值相等,则返回对应THEN后面的结果;如果expr的值与所有WHEN后面的值都不相等,则返回ELSE后面的结果。使用示例如下:
mysql> SELECT CASE 1 WHEN 0 THEN 0 WHEN 1 THEN 1 ELSE -1 END;
+------------------------------------------------+
| CASE 1 WHEN 0 THEN 0 WHEN 1 THEN 1 ELSE -1 END |
+------------------------------------------------+
| 1 |
+------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CASE -1 WHEN 0 THEN 0 WHEN 1 THEN 1 ELSE -1 END;
+-------------------------------------------------+
| CASE -1 WHEN 0 THEN 0 WHEN 1 THEN 1 ELSE -1 END |
+-------------------------------------------------+
| -1 |
+-------------------------------------------------+
1 row in set (0.00 sec)