case在select语句中的第一种用法:
这种写法只是针对某一个单一属性的具体值来做判断

select id,name,(case sex when 0 then '男' when 1 then '女' else '未知' end)'性别'
from user; 

case在select语句中的第二种用法:
case后面的判别依据关键字sex,放到了when的后面,并且这时,可以不止根据sex这一个属性来确定性别列的值

select id,name,(case when sex=0 then '男' when sex = 1 then '女' else '未知' end)'性别'
from user;

select id,name,(case when sex=0 then '男' when name = '李四' then '女' else '未知' end)'性别'
from user;


if()用于判断是或否两种情况:
①  select name,if(sex<=1,'正常','异常') from user;
②  select name,if(sex<=1,sex,'异常') from user; -- if()也可以直接返回字段,case同理

该表是初始表格user

下面的表分别对应几种不同的写法

 

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐