mysql的case when如何用

mysql中,“case when”用于计算条件列表并返回多个可能结果表达式之一;“case when”具有两种语法格式:1、简单函数“CASE[col_name]WHEN[value1]THEN[result1]…ELSE[default]END”;2、搜索函数“CASE WHEN[expr]THEN[result1]…ELSE[default]END”。

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql的case when怎么用

case when语句,用于计算条件列表并返回多个可能结果表达式之一。

CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。

在做数据分析的时候,需要从数据库中查找数据并进行分析展示,准确的数据查询结果有利于后期简洁有效的分析。在此期间用到了 mysql中的case when,记录一下case when的用法。

CASE语句为多分支语句结构,该语句首先从WHEN后的VALUE中查找与CASE后的VALUE相等的值,如果查找到,则执行该分支的内容,否则执行ELSE后面的内容。

MySql的case when 语法有两种:

1、简单函数

CASE[col_name]WHEN[value1]THEN[result1]…ELSE[default]END

2、搜索函数

CASE WHEN[expr]THEN[result1]…ELSE[default]END

简单函数

CASE input_expressionWHEN when_expression THEN    result_expression [...n ] [ELSE    else_result_expressionEND

枚举Input_expression所有可能的值。

Input_expression 和每个 when_expression 的数据类型必须相同,或者是隐性转换。

搜索函数

CASE WHEN [Boolean_expression] THEN [result1]…ELSE [default] END

判断Boolean_expression表达式,如果满足,返回then后边的结果

以人员表为例

mysql的case when如何用

名列前茅种用法,when后边必须接case列的值,不能是表达式

select case sex when sex='1' then '男' when sex='2' then '女' else '其他' end as '性别' from people;select case sex when sex='2' then '女' when sex='1' then '男' else '其他' end as '性别' from people;

查询结果

mysql的case when如何用

原因:因为when后边不是case列的所有可能值,而是表达式,但是为什么会出现’男’这样的结果,需要思考,后边研究明白后,再更新

正确写法

select case sex when '1' then '男' when '2' then '女' else '其他' end as '性别' from people;

查询结果

mysql的case when如何用

“mysql的case when如何用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

文章标题:mysql的case when如何用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/23096

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云亿速云认证作者
上一篇 2022年9月6日 上午12:05
下一篇 2022年9月6日 上午12:06

相关推荐

  • 电脑0x000007b蓝屏如何修复

    启动无限蓝屏0x000007b修复方法: 方法一: 1、先强制重启电脑,等待开机画面出现后按下快捷键“F12”进入bios系统中。 2、进入bios启动项设置界面,用方向键将光标移动到“advanced”。 3、然后再次选择“SATA Configuration”并按下回车键进行确认。 4、之后会出…

    2022年9月16日
    35900
  • MySQL中超键、主键及候选键的区别是什么

    关于超键和主键及候选键的区别 最近在看MySQL的书时遇到了一个问题: 既然已经有了主键这个概念,主键已经能够满足需求了,那为什么还要有候选键这种东西?候选键的作用是什么呢?给了它一个候选键的定义但是它真的并没有什么乱用。 抱着刨根问底拦不住的心态我去网上搜了搜,看了看大神们的解释,看得我还是有些懵…

    2022年9月6日
    32000
  • 子网掩码和ip地址的关系介绍

    子网掩码和ip地址的关系:1、子网掩码是用来判断两台计算机的ip地址是否属于同一子网络的根据,也即子网掩码和ip地址可以确定少数地址的关系;2、把子网掩码和ip地址进行二进制换算进行and算法,就是对外的少数地址;3、子网掩码可以用于区分网络地址和主机地址。 子网掩码和ip地址的关系是什么 IP地址…

    2022年9月13日
    74400
  • windows是否只查看安全传送的网页内容如何关闭

    是否只查看安全传送的网页内容关闭方法: 1、首先打开浏览器,然后点击任务栏中的“工具”。 2、之后点击下拉菜单中的“Internet选项”。 3、再点击选项窗口中的“安全”。 4、接着去点击下面的“自定义级别”。 5、下拉找到“显示混合内容”。 6、勾选下面的“启动”。 7、最后点击确定即可。 以上…

    2022年8月31日
    23800
  • Python遗传算法Geatpy工具箱怎么用

    一、 什么是遗传算法? 遗传算法是仿真生物遗传学和自然选择机理,通过人工方式所构造的一类搜索算法,从某种程度上说遗传算法是对生物进化过程进行的数学方式仿真。生物种群的生存过程普遍遵循达尔文进化准则,群体中的个体根据对环境的适应能力而被大自然所选择或淘汰。进化过程的结果反映在个体的结构上,其染色体包含…

    2022年9月10日
    49000
  • vue包不包含jQuery

    vue中不包含jquery;vue是一个用于创建用户界面的开源JavaScript框架,虽然jquery也是一个JavaScript框架,但是jquery是使用选择器选取DOM对象,对其进行赋值、取值、事件绑定等操作,而vue对数据进行操作不再需要引用响应的DOM对象,二者并不存在包含的关系。 本文…

    2022年9月8日
    17400
  • windows nvidia驱动缓存如何清理

    nvidia驱动缓存能清理吗 答:nvidia驱动缓存能清理, 驱动缓存是驱动更新安装时留下的。 如果我们已经完成更新,就没有用了。 nvidia驱动缓存清理教程: 1、首先进入我的电脑“C:Program Files”位置。 2、在其中找到“NVIDIA corporation”文件夹,将它删除。…

    2022年8月29日
    70700
  • Redis实现限流器的方法有哪些

    方法一:基于Redis的setnx的操作 我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap)的操作的时候,同时给指定的key设置了过期实践(expire),我们在限流的主要目的就是为了在单位时间内,有且仅有N数量的请求能够访问我的代…

    2022年9月10日
    25800
  • windows谷歌浏览器开发者模式如何打开

    谷歌浏览器开发者模式打开方法: 1、点击右上角的图标先。 2、随后选择更多工具中的“开发者工具”。 3、随后即可进入“开发者模式”。 4、点击上方的选项可以设置开发者工具的位置。 关于“windows谷歌浏览器开发者模式如何打开”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“windows…

    2022年9月8日
    1.6K00
  • Oracle中for循环如何使用

    Oracle for in loop 循环的一些实例,以作学习和加强使用熟练度及场景应用. 一些技巧 for 语句后面的 loop end loop 可以类比成 c#/java 等编程语言 for 语句后面的语句块符号(花括号{}), 以便理解和使用. 一些实例 循环输出数值 — 循环输出数值be…

    2022年8月29日
    27700
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部