599CN.COM - 【源码之家】老牌网站源码下载站,提供完整商业网站源码下载!

mysql中case when

源码网2023-07-13 09:31:37151MySqlCase条件WHEN

在MySQL中,case when是一种条件语句,用于根据给定条件执行不同的操作。case when语句可以在查询中进行条件判断和结果返回,极大地提高了查询的灵活性。

case when的语法

case when语句的基本语法如下:

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

条件语句由多个when和一个else子句组成,其中when子句是可选的。条件语句的执行流程是,从上到下遍历when子句,找到满足条件的第一个when子句,执行相应的结果返回。如果所有when子句都不满足条件,则执行else子句的结果返回。

使用case when进行条件判断

case when语句可以用于根据不同的条件进行判断,并返回不同的结果。下面是一个使用case when进行条件判断的例子:

SELECT name, 
    CASE 
        WHEN age < 18 THEN '未成年'
        WHEN age >= 18 AND age < 60 THEN '成年人'
        ELSE '老年人'
    END AS age_group
FROM users;

上述例子中,根据用户的年龄判断其所属的年龄组别,并将该结果返回为新的字段age_group。如果年龄小于18,返回'未成年',如果年龄在18到60之间,返回'成年人',否则返回'老年人'。

使用case when进行结果返回

除了条件判断,case when还可以用于根据不同的条件返回不同的结果。下面是一个使用case when进行结果返回的例子:

SELECT name,
    CASE
        WHEN score >= 90 THEN '优秀'
        WHEN score >= 80 THEN '良好'
        WHEN score >= 60 THEN '及格'
        ELSE '不及格'
    END AS result
FROM students;

上述例子中,根据学生的分数判断其所得的成绩,并将该结果返回为新的字段result。如果分数大于等于90,返回'优秀',如果分数在80到90之间,返回'良好',如果分数在60到80之间,返回'及格',否则返回'不及格'。

使用case when进行字段转换

case when还可以用于对字段进行转换。例如,将某个字段的值根据条件进行替换。下面是一个使用case when进行字段转换的例子:

SELECT name,
    CASE
        WHEN gender = 'M' THEN '男'
        WHEN gender = 'F' THEN '女'
    END AS gender_chinese
FROM users;

上述例子中,将用户的性别字段gender从英文转换为中文,并将转换结果返回为新的字段gender_chinese。如果性别为'M',则表示为'男',如果性别为'F',则表示为'女'。

总结

通过使用case when语句,我们可以在MySQL中进行条件判断和结果返回。无论是进行条件判断、结果返回还是字段转换,case when都为我们提供了强大的灵活性。使用case when可以使我们的查询更加清晰、简洁,并且提升了查询的效率。

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://599cn.com/post/5311.html