Mysql常用函数的汇总,可看下面文章
https://www.cnblogs.com/poloyy/p/12890763.html
case 的作用
- if 的高级版,类似Java 里面的 switch ... case
- 通过条件表达式匹配 case 对应的值,然后执行对应的操作
简单的 case 的语法格式
只有一个条件表达式
CASE <表达式>
WHEN <值1> THEN <操作>
WHEN <值2> THEN <操作>
...
ELSE <操作>
END;
语法格式说明
- 将 <表达式> 的值 逐一和 每个 when 跟的 <值> 进行比较
- 如果跟某个<值>想等,则执行它后面的 <操作> ,如果所有 when 的值都不匹配,则执行 else 的操作
- 如果 when 的值都不匹配,且没写 else,则会报错
先看看emp表有什么数据
简单 case 的栗子:
根据部门id进行判断部门名称
SELECT name,dept_id,
CASE
dept_id
WHEN 0 THEN
"实习生"
WHEN 1 THEN
"销售部"
WHEN 2 THEN
"信息部"
WHEN 2 THEN
"财务部" ELSE "没有部门"
END AS "部门"
FROM
emp;
可搜索 case 的语法格式
CASE
WHEN <条件1> THEN <操作>
WHEN <条件2> THEN <操作>
...
ELSE <操作>
END;
语法格式说明
- 每个 <条件> 都是独立的,可以用 and 来连接多个查询条件
- 不同 <条件> 是互不关联且互不影响的
可搜索 case 的栗子
每个条件都是不一样的,可以任意指定查询条件,可简单可复杂
select name,dept_id,
case
when dept_id=1 and leader != 0 and is_enable !=0 then "销售部在职员工"
when dept_id =2 and leader = 0 then "信息部大佬"
when leader = 8 then "任我行大佬"
else "啥都不是"
end
from emp;
重点
记得结尾要加 end !!!!
记得结尾要加 end !!!!
记得结尾要加 end !!!!