MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

MySQL CASE表达式

MySQL CASE表达式是控制流函数的一部分,该函数使我们能够编写 if-else或if-then-else 查询逻辑。此表达式可在使用有效程序或查询的任何地方使用,例如SELECT,WHERE,ORDER BY子句等。
CASE表达式可验证各种条件,并在第一个条件为 true 。一旦满足条件,它将停止遍历并给出输出。如果找不到任何满足条件的条件,它将执行 else块。当找不到else块时,它将返回 NULL 值。 MySQL CASE语句的主要目标是处理SELECT子句中的多个IF语句。
我们可以通过两种方式使用CASE语句,如下所示:

1、简单的CASE语句:

第一种方法是获取一个值并将其与给定的语句匹配,如下所示。

语法

case value 
    WHEN [compare_value] THEN result 
    [WHEN [compare_value] THEN result ...] 
    [else result] 
END
当第一个 compare_value 比较结果为true时,它返回结果。否则,它将返回else子句。

示例

mysql> SELECT case 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' else 'more' END;
输出
成功执行以上命令后,我们将看到以下输出。
MySQL CASE Expression

2、搜索的CASE语句:

第二种方法是在 WHEN 子句中考虑 search_condition ,如果找到,则在相应的THEN中返回结果条款。否则,它将返回else子句。如果未指定else子句,它将返回NULL值。

语法

case 
    WHEN [condition] THEN result 
    [WHEN [condition] THEN result ...] 
    [else result] 
END

示例

mysql> SELECT case BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
输出
MySQL CASE Expression

返回类型

CASE表达式根据使用结果的上下文返回结果。例如:
如果在字符串上下文中使用它,则返回字符串结果。 如果在数字上下文中使用,它将返回整数,浮点数和十进制值。

MySQL版本支持

CASE语句可以支持以下 MySQL版本:
MySQL 8.0 MySQL 5.7 MySQL 5.6 MySQL 5.5 MySQL 5.1 MySQL 5.0 MySQL 4.1 MySQL 4.0 MySQL 3.23.3
让我们创建一个表" students"并在该表上执行CASE语句。
MySQL CASE Expression
在上表中,我们可以看到 class列包含学生部门的简称。这就是为什么我们要用完整的表格更改部门的简称。现在,执行以下查询以执行此操作。
SELECT studentid, firstname,
 case class 
    WHEN 'CS' THEN 'Computer Science' 
    WHEN 'EC' THEN 'Electronics and Communication' 
    else 'Electrical Engineering' 
END AS department from students;
成功执行以上查询后,我们将获得以下输出。在这里,我们可以看到 部门列包含完整格式,而不是简短格式。
MySQL CASE Expression

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4