当前位置:   article > 正文

MySQL CASE 语句

MySQL CASE 语句
CASE声明
  1. CASE case_value
  2. WHEN when_value THEN statement_list
  3. [WHEN when_value THEN statement_list] ...
  4. [ELSE statement_list]
  5. END CASE

或者

  1. CASE
  2. WHEN search_condition THEN statement_list
  3. [WHEN search_condition THEN statement_list] ...
  4. [ELSE statement_list]
  5. END CASE

CASE语句用于存储 程序实现复杂的条件构造。

对于第一个语法,case_value是 一种表达将此值与 when_value在每个表达式WHEN子句,直到其中一个相等。当 如果找到相等的when_value, 对应THEN子句 statement_list执行。如果没有 when_value是相等的, ELSE子句 statement_list执行,如果有 一个相等此语法不能用于测试是否与NULL相等,因为NULL=NULL为false。请参见第5.3.4.6节

对于第二种语法,每个WHEN子句 search_condition表达式是 计算直到一个为真,在这一点上,其对应的 THEN子句 statement_list执行。如果没有 search_condition等于, ELSE子句 statement_list执行,如果有 一个. 如果没有when_valuesearch_condition匹配值 测试和CASE声明 不包含ELSE子句,Case 未找到CASE语句错误结果。

每个statement_list由一个 一个或多个SQL语句;空statement_list 不允许。

处理没有值与任何 WHEN子句,使用ELSE 包含空 BEGIN... END块,如本例所示。(在这里使用的ELSE子句是为了 这只是为了清楚起见,并且在其他方面并不重要)。

  1. DELIMITER |
  2. CREATE PROCEDURE p()
  3. BEGIN
  4. DECLARE v INT DEFAULT 1;
  5. CASE v
  6. WHEN 2 THEN SELECT v;
  7. WHEN 3 THEN SELECT 0;
  8. ELSE
  9. BEGIN
  10. END;
  11. END CASE;
  12. END;
  13. |

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/404747
推荐阅读
  • 相关标签
      

    闽ICP备14008679号