casewhen的用法?

ID ,NAME, SEX 

case when ID is null then name when ID=0 then name else ID  end

三个字段比较,只取有数据(非空或者0不取)的那个字段,应该怎么比?我只会两个字段比较,三个就不会了。。。。。。。。。

用户kWEye3931 发布于 2020-11-10 10:23
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
shirokoLv6资深互助
发布于2020-11-10 10:26

case when 只有then else。

如果要判断两个以上就要嵌套

CASE WHEN 条件1 THEN XX ELSE (CASE WHEN 条件2 THEN XX ELSE END) END


最佳回答
1
yiyemeiyingLv4高级互助
发布于2020-11-10 10:52
CASE

WHEN ID IS NOT NULL AND ID != 0 

THEN ID 

ELSE

   CASE WHEN NAME IS NOT NULL 
   
        THEN NAME 
        
        ELSE CASE WHEN SEX IS NOT NULL 
        
                  THEN SEX 
                  
                  END
                  
        END
        
END


最佳回答
0
苑苑苑苑苑Lv6见习互助
发布于2020-11-10 10:47

这个你直接or也是可以的

case when ID is null or  ID=0 then name else ID  end as

最佳回答
0
ColdmanLv6高级互助
发布于2020-11-10 11:34

你这个情况有很多种啊

3个全部有值怎么取,1

3个全部没有值怎么取,1

1个有值2个没值怎么取,3

2个有值1个没值怎么取,3

共计8种情况,case when 能把你写疯

  • 5关注人数
  • 925浏览人数
  • 最后回答于:2020-11-10 11:34
    请选择关闭问题的原因
    确定 取消
    返回顶部