具体细节就不写了,不然错误的示例又影响记忆。
具体case when then end 的语法有两种
1、 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
就是说这种是case的 值。
比如说 :
select name, case gender when 1 then '男' else '女' end from user
中间可以叠加多层when then 直到else
2、CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
就是说这里没有case 一个值,直接当一个条件怎么样输出什么值,其实有点和if else一样了
比如说 :
select name, case when gender = 1 then '男' else '女' end from user
或者是 select name, case when gender > 0 then '男' else '女' end from user
中间是条件表达式 都可以的。