MySQL - CASE语句

MySQL - CASE语句 首页 / MySQL入门教程 / MySQL - CASE语句

MySQL CASE表达式是控制流函数的一部分,该函数使无涯教程能够向查询中编写 if-else或if-then-else 逻辑。

CASE表达式验证各种条件,并在第一个条件为 true 时返回结果。一旦满足条件,它将停止遍历并给出输出。如果找不到任何满足条件的条件,它将执行 else块。当找不到else块时,它将返回 NULL 值。 MySQL CASE语句的主要目标是处理SELECT子句中的多个IF语句。

无涯教程可以通过两种方式使用CASE语句,如下所示:

简单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;

成功执行以上命令后,无涯教程将看到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-case-expression.html

来源:LearnFk无涯教程网

 MySQL CASE Expression

搜索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

让无涯教程创建一个表" student"并在该表上执行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;

成功执行以上查询后,无涯教程将获得以下输出。在这里,可以看到department列包含完整格式,而不是简短格式。

 MySQL CASE Expression

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

微服务架构核心20讲 -〔杨波〕

零基础学Python -〔尹会生〕

消息队列高手课 -〔李玥〕

DDD实战课 -〔欧创新〕

性能工程高手课 -〔庄振运〕

讲好故事 -〔涵柏〕

数据分析思维课 -〔郭炜〕

Kubernetes入门实战课 -〔罗剑锋〕

好记忆不如烂笔头。留下您的足迹吧 :)