一:case when 的两种用法
1: case 字段名 when 字段值 then 希望值
when 字段值 then 希望值
else 希望值
end
2: case when 条件 then 希望值
when 条件 then 希望值
else 希望值
end
注:case 函数 只能返回一个值,当有满足条件的就会返回结果。
示例:
select (case t.sex when '1' then '男' when '0' then '女' else t.sex end from emp t; select (case when t.sex ='1' then '男' when t.sex= '0' then '女'else t.sex end from emp t;
我们利用case when 把sex为1的转化成男,把为0的转化成了女,其他的都不转化,现在我们稍微改下代码看下效果。
这样当性别代码为1,0时转化成男、女,不为1,0显示成错误代码。
二:case when 做条件
select * from emp t where t.sex = ( case when t.sex =3 then t.sex end );