• SQL中CASE的用法


            在SQL中,CASE语句是一种条件表达式,用于根据条件执行不同的操作。它有两种形式:简单CASE表达式和搜索CASE表达式。

            简单CASE表达式的语法如下:

    1. CASE expression
    2. WHEN value1 THEN result1
    3. WHEN value2 THEN result2
    4. ...
    5. ELSE result
    6. END

            其中,expression是要比较的值或表达式,value1、value2等是与expression进行比较的可能值,result1、result2等是与对应value匹配时返回的结果,ELSE部分是当expression与所有value都不匹配时返回的结果。

            举个例子,假设有一个名为gender的字段,值为'M'、'F'或其他值,我们想要根据gender的值返回不同的结果:

    1. SELECT
    2. gender,
    3. CASE gender
    4. WHEN 'M' THEN 'Male'
    5. WHEN 'F' THEN 'Female'
    6. ELSE 'Unknown'
    7. END AS gender_description
    8. FROM
    9. employees;

            搜索CASE表达式的语法如下:

    1. CASE
    2. WHEN condition1 THEN result1
    3. WHEN condition2 THEN result2
    4. ...
    5. ELSE result
    6. END

            其中,condition1、condition2等是要判断的条件,result1、result2等是与对应condition匹配时返回的结果,ELSE部分是当所有condition都不匹配时返回的结果。

            举个例子,假设有一个名为salary的字段,我们想要根据salary的值返回不同的等级:

    1. SELECT
    2. salary,
    3. CASE
    4. WHEN salary >= 10000 THEN 'High'
    5. WHEN salary >= 5000 THEN 'Medium'
    6. ELSE 'Low'
    7. END AS salary_level
    8. FROM
    9. employees;

            这样就可以根据不同的条件返回不同的结果。CASE语句在SQL中非常有用,可以用于条件判断、数据转换和结果分类等场景。

    注意:在SQL中,CASE语句按顺序评估每个条件,并返回第一个满足条件的结果。如果有多个条件都满足,只会执行第一个满足条件的结果。

            所以使用 case 可以避免同一条数据因为处理前后分别满足了不同的条件,从而导致一条数据被多次处理的情况。

  • 相关阅读:
    Linux服务器部署Web版VSCode,在window下使用浏览器在linux环境下编写代码
    [密码学入门]仿射密码(Affine)
    敏捷实践之Bug Bash
    LeetCode经典面试150题-day3(删除有序数组的重复项)
    关于JavaScript关键字之一this解读
    《web课程设计》用HTML CSS做一个简洁、漂亮的个人博客网站
    1.6、计算机网络的性能指标(2)
    Vue学习--模板语法-插值
    前端vue点击图片上传(带封装方法)
    Workerman开启ssl方法如下
  • 原文地址:https://blog.csdn.net/qq_57182209/article/details/132791919