MySQL 中 CASE()用法

MySQL 中的 CASE 表达式用于根据条件进行条件判断和返回多个可能的值。它允许在查询中执行简单的逻辑判断,并根据不同的条件返回不同的值或执行不同的操作。

CASE 表达式有两种形式:简单 CASE 和搜索 CASE。

简单 CASE 形式:

CASE expression
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ...
    ELSE else_result
END

搜索 CASE 形式:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE else_result
END

在简单 CASE 形式中,表达式会与每个 WHEN 子句中的值进行比较,并返回对应的结果。如果没有匹配到任何值,则返回 ELSE 子句中的结果。

在搜索 CASE 形式中,每个 WHEN 子句都有一个条件,当条件为 TRUE 时,返回对应的结果。如果没有匹配到任何条件,则返回 ELSE 子句中的结果。

示例用法:

SELECT column1,
   CASE column2
      WHEN 'value1' THEN 'result1'
      WHEN 'value2' THEN 'result2'
      ELSE 'result3'
   END AS new_column
FROM table_name;

上述示例中,我们根据列 column2 的值进行条件判断,并将判断结果作为新列 new_column 返回。

CASE 表达式可以嵌套使用,可以作为 SELECT 语句、UPDATE 语句等语句中的一部分来实现复杂的逻辑判断和结果生成。

posted @ 2023-10-21 10:34  启航黑珍珠号  阅读(696)  评论(0)    收藏  举报