MySQL CASE语句

如何使用MySQL 中CASE语句在存储的程序中构造复杂的条件语句。

除了IF语句],MySQL提供了一个替代的条件语句CASE。 MySQL CASE语句使代码更加可读和高效。

  • 语法
情况1:类似于switch,一般用于实现等值判断。
语法:case 变量或表达式when 值1 then 语句1;when 值2 then 语句2;...else 语句n;end 情况2:类似于多重if语句,一般用于实现区间判断。
语法:case when 条件1 then 语句1;when 条件2 then 语句2;...else 语句n;end
  • 特点

    ①可以作为表达式,嵌套在其他语句中使用。

    ② 可以放在任何地方,BEGIN END 中或BEGIN END 的外面可以作为独立的语句去使用,只能放在BEGIN END中如果WHEN中的值满足或条件成立,则执行对应的THEN后面的语句,并且结束CASE如果都不满足,则执行ELSE中的语句或值 。

  • 位置

    ①可以放在任何位置

    ②如果放在begin end 外面,作为表达式结合着其他语句使用

    ③如果放在begin end 里面,一般作为独立的语句使用

  • 案例

#案例
#创建存储过程,根据传入的成绩,来显示等级,比如传入的成绩:90-100, 显示A,80-90,显示B,60-80,显示c,否则,显示DCREATE PROCEDURE test_case (IN score INT)
BEGIN CASE WHEN score>=90 AND score<=100 THEN SELECT 'A'; WHEN score>=80 THEN SELECT 'B';WHEN score>=60 THEN SELECT 'C'; ELSE SELECT 'D';END CASE;
END $
CALL test_case(95)$

MySQL CASE语句相关推荐

  1. MySQL 入门:Case 语句很好用

    引言 MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式. MySQL 中的 CASE 是一种控制语句,它验证条件案例 ...

  2. mysql case设固定值_MySQL CASE语句将自定义值放置为NULL

    让我们首先创建一个表-mysql> create table DemoTable ( FirstName varchar(20) ); 使用插入命令在表中插入一些记录-mysql> ins ...

  3. MySQL使用IF语句以及用case语句对条件或结果进行判断

    MySQL使用IF语句以及用case语句对条件或结果进行判断 一.前期准备 二.IF语句 1.场景一 2.场景二 三.CASE语句 一.前期准备 CREATE TABLE `t1` (`id` int ...

  4. mysql 中 case语句吗_Mysql中的Case语句

    1.Case基本初识 case语句是mysql中的一个条件语句,可以在字段中使用case语句进行复杂的筛选以及构造新的字段.下面通过两个leetcode例子来详细解读case语句的功能: 1.1 Le ...

  5. mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法

    ryxxlong的博客 Sql server 中的 CASE 语句文章, 链接 http://ryxxlong.iteye.com/blog/531221 写的比较详细,具体内容如下,主要用于自己以后 ...

  6. mysql之case_mysql存储过程之case语句

    存储程序的CASE语句实现一个复杂的条件构造.如果search_condition求值为真,相应的SQL被执行.如果没有搜索条件匹配,在ELSE子句里的语句被执行. 语法: CASE case_val ...

  7. mysql的 case用法_mysql数据库case语句的使用方法

    用case语句就可以很好的解决这个问题:  代码如下 复制代码 select a.master_id,sum(case when b.status=6 then 1 else 0 end) as to ...

  8. MySQL中定义fk语句_MySQL基础篇/第3篇:MySQL基本操作语句.md · qwqoo/MySQL-Review - Gitee.com...

    ### 第3篇:MySQL基本操作语句 - MySQL基础操作 #### 排序检索数据 - 之前的数据没有进行排序,其是按照默认在数据表中的数据返回的 - SELECT语句的ORDER BY 子句进行 ...

  9. mysql case when 去重_【Mysql】 case ... when ... 用法

    mysql case when用法 SELECT CASE WHEN `categoryid` =1THEN '参赛队员'ELSE '指导老师'END FROM `blog_article` WHER ...

最新文章

  1. vbs字符串正则_VBscript中的正则表达式
  2. java正则表达式对象_Java正则表达式之Pattern类
  3. linux c语言中如何通过进程名获取进程PID(awk命令行指令)popen、pclose
  4. c语言求随机数的中位数,定义一个随机变量,选出这个随机变量的中位数
  5. php字符串学习笔记
  6. 蓝桥杯vip答案java_Java实现 蓝桥杯VIP 算法训练 麦森数
  7. 大地Win11 64位全新专业版系统V2021.08
  8. Facebook的体系结构分析---外文转载
  9. bzoj 3165: [Heoi2013]Segment 线段树
  10. DB2 错误 54001
  11. C# 在线PDF阅读
  12. Tomcat中文乱码问题
  13. Explainability in Graph Neural Networks:A Taxonomic Survey 图可解释
  14. 国家税务总局河南省电子税务局中,交契税时,报房屋属地税务机关必填的解决方法
  15. JavaScript函数式编程之函子
  16. 风险投资VC对ESG指标的影响
  17. 英语不好怎么自学python_为什么我就是学不好英语啊?我明明很努力,但是为... 我英语一般,但我很想学Python这个编程语言,行不?...
  18. 第三方支付和第四方支付有什么区别?
  19. 【微信小程序】使用云存储存入指定文件夹
  20. Android--简单电子木鱼开发详解

热门文章

  1. MySQL is null真的不走索引吗?
  2. 牛客网华为机试 JavaScript V8(一小部分)
  3. 免费Zblog采集工具插件-批量管理监控Zblog网站采集发布
  4. ​当零售数字化进入到全新的发展阶段,我们需要将公域和私域进行打通​
  5. Mediocre String Problem(马拉车+扩展KMP)
  6. js对于鼠标滚轮事件的监听
  7. logback打印日志不显示具体的信息,显示问号
  8. Excel技能之8种查找,乍看感觉有点懵
  9. 剪枝论文二(Filters Pruning)
  10. IDEA编译Error:(4, 34) java: 找不到符号 符号: 类 HttpServletResponse 位置: 程序包 com.ifen