mysql中case when的使用

本文介绍了MySQL中CASE WHEN函数的两种形式:简单函数和搜索函数,并通过具体案例展示了如何根据查询结果返回不同状态,例如根据用户名判断状态或根据用户积分判断级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在写mysql查询语句的时候如果需要根据查询结果判断来返回值的时候可以使用高级函数CASE ....when

MySQL 的 case when 分为简单函数和搜索函数两种:

  1. 简单函数
    CASE expression
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE result
    END
  2. 搜索函数
    CASE 
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE result
    END

1.简单函数

CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END

CASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回else后面的 result,而当有一个成立之后,后面的就不执行了。

案例:我需要根据查询的姓名为‘zhangsan’给他一个true状态,其他的为false

SELECT *,CASE tb.username WHEN ('zhangsan') THEN TRUE ELSE FALSE END as state  from tb_user tb

执行结果:

2.搜索函数

我想根据用户的积分来判断用户的级别,使用搜索函数的写法

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值