mysql case 使用方法

case 有两种使用方法:1.有值判断;2.无值判断


1.有值判断

例子(创建一张the_user表,插入一条数据)

SELECT
(CASE 1 WHEN 1 THEN '第一' 
       WHEN 2 THEN '第二'

       .....

ELSE '最后'

       END) d
 FROM the_user   



解释【

查询 (曾经有一个值为 1   当 我看到这个值是 1  然后我就显示 ‘第一’

当 我看到这个值是 2  然后我就显示‘第二’

可以继续写下去

否则我就显示‘最后’

结束

)自己写的字段名

来自 用户表】


(CASE user_id WHEN 1 THEN '第一' 
       WHEN 2 THEN '第二'

       .....

ELSE '最后'

       END) d
 FROM the_user

解释【

查询 (曾经有一个值为 1   当 我看到这个值是 1  然后我就显示 ‘第一’

当 我看到这个值是 2  然后我就显示‘第二’

可以继续写下去

结束

否则我就显示最后

)自己写的字段名

来自 用户表】




上面的写法是无值的case,这个值可以是 ”常量“ 也可以是 “表的字段”


2.无值的判断

(CASE WHEN LOCATE('+',SUBSTRING(user_id,1) =1 THEN '第一' 
          WHEN LOCATE('-',SUBSTRING(user_id),1)=1 THEN '第二'

       .....

ELSE '最后'

       END) d
 FROM the_user

解释【

查询 ( 当 用户id包含加号   然后我就显示 ‘第一’

当 我看到用户id包含减号 然后我就显示‘第二’

可以继续写下去

否则显示 最后

结束

)自己写的字段名

来自 用户表】



解释【

查询 (曾经有一个值为 1   当 我看到这个值是 1  然后我就显示 ‘第一’

当 我看到这个值是 2  然后我就显示‘第二’

可以继续写下去

结束

)自己写的字段名

来自 用户表】


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值