加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql 常用函数(4)- case 函数

发布时间:2020-12-12 02:14:12 所属栏目:MySql教程 来源:网络整理
导读:Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html ? case 的作用 if 的高级版,类似Java 里面的?? switch ... case ? 通过条件表达式匹配 case 对应的值,然后执行对应的操作 ? 简单的 case 的语法格式 只有一个条件表达

Mysql常用函数的汇总,可看下面文章

https://www.cnblogs.com/poloyy/p/12890763.html

?

case 的作用

  • if 的高级版,类似Java 里面的??switch ... case?
  • 通过条件表达式匹配 case 对应的值,然后执行对应的操作

?

简单的 case 的语法格式

只有一个条件表达式

CASE  <表达式>
   WHEN <值1> THEN <操作<值2>
   ...
   ELSE >
END;

语法格式说明

  • 将?>?的值 逐一和 每个 when 跟的?<>?进行比较
  • 如果跟某个<值>想等,则执行它后面的?>?,如果所有 when 的值都不匹配,则执行 else 的操作
  • 如果 when 的值都不匹配,且没写 else,则会报错

?

先看看emp表有什么数据

?

简单 case 的栗子:

根据部门id进行判断部门名称

SELECT name,dept_id,CASE
        dept_id 
        0 THEN
        "实习生" 
        1 
        "销售部" 
        2 
        "信息部" 
        
        "财务部" ELSE "没有部门" 
    END AS "部门" 
FROM
    emp;

?

可搜索 case 的语法格式

CASE
    <条件1>
    <条件2
    ...
    END;

语法格式说明

  • 每个?<条件>?都是独立的,可以用 and 来连接多个查询条件
  • 不同?>?是互不关联且互不影响的

?

可搜索 case 的栗子

每个条件都是不一样的,可以任意指定查询条件,可简单可复杂

selectcase 
when dept_id=1 and leader != 0 and is_enable !=then "销售部在职员工"
when dept_id 2 =  "信息部大佬"
when leader 8  "任我行大佬"
else "啥都不是"
end
from emp;

?

重点

记得结尾要加 end !!!!

记得结尾要加 end !!!!

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读