Mysql之case when基本用法以及它的返回值类型

本文详细介绍了MySQL中CASE WHEN语句的使用,包括两种语法形式、特殊用法,如行转列、条件判断、排序和分组。通过案例展示了CASE WHEN在聚合函数、数据拆分和排序中的应用。
摘要由CSDN通过智能技术生成

MySQL 的 case when 的语法有两种:

      1.简单函数 (比较col_name和when后面的值是否相等)

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END

 

     2.搜索函数 (判断when后面的表达式expr是否为true,如果为true,则返回result1)

CASE WHEN [expr] THEN [result1]…ELSE [default] END

两种语法的区别

简单函数

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚举这个字段所有可能的值
SELECT
    NAME '树名',
    CASE NAME
        WHEN '桃树' THEN
            '桃花'
        WHEN '梨树' THEN
            '梨花'
        WHEN '芙蓉' THEN
	    '莲花'	
        ELSE
            '无名花'
    END '花名'
FROM
    tree_info;

查询结果:

30d13a01ad16b2dee881f56d234830b3850.jpg

搜索函数

CASE WHEN [expr] THEN [result1]…ELSE [default] END:搜索函数可以写判断,并且搜索函数只会返回第一个符合条件的值,其他case被忽略

SELECT
    age '年龄段',
    CASE
        WHEN age <= 10 THEN
            '不愁'
        WHEN age <= 20 THEN
            '不悔'
        WHEN age <= 30 THEN
            '而立'
        WHEN age <= 40 THEN
            '不惑'
        WHEN age <= 50 THEN
            '知天命'
        WHEN age <= 60 THEN
            '耳顺'
        ELSE
            '年级大了'
    END '状态'
FROM
    age_info;

查询结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值