MySQL 提供了两种结构,称为 Case 表达式和 Case 语句,它们看起来可以互换。然而,理解它们的具体功能至关重要。
Case 表达式评估条件并返回相应的结果。它通常用在表达式中,例如在 SELECT 语句中或作为另一个表达式的一部分。语法为:
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
例如:
SELECT CASE WHEN type = 1 THEN 'foo' WHEN type = 2 THEN 'bar' ELSE 'baz' END AS name_for_numeric_type FROM sometable`
与 Case 表达式不同,Case 语句根据以下条件执行一组语句中的一个:一个条件。它通常在存储程序中用于执行条件操作。语法为:
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
例如:
CASE WHEN action = 'update' THEN UPDATE sometable SET column = value WHERE condition; WHEN action = 'create' THEN INSERT INTO sometable (column) VALUES (value); END CASE
Case 表达式和 Case 语句之间的主要区别在于它们的计算输出。 Case 表达式返回一个值,而 Case 语句执行一组语句。这种差异决定了它们适当的用例。
虽然 Case 表达式语法在 MySQL 版本中是一致的,但 Case 语句的语法在存储程序和普通查询之间可能有所不同。在普通查询中使用时,关键字“END”被省略,而在存储程序中,则需要关键字“END”。
**Stored Program**
CASE
WHEN ...
...
ELSE ...
结束案例
**Normal Query**
案例
何时...
...
否则...
案例
以上是以下是一些适合您文章的基于问题的标题,重点关注关键区别和用法: * MySQL 中的 Case 表达式与 Case 语句:哪个最适合您的查询? * MySQL 的案例的详细内容。更多信息请关注PHP中文网其他相关文章!