美文网首页@IT·互联网技术研发汇集
MySQL中的条件判断函数 CASE WHEN、IF、IFNUL

MySQL中的条件判断函数 CASE WHEN、IF、IFNUL

作者: 星辰大海的精灵 | 来源:发表于2024-01-26 15:27 被阅读0次

    在MySQL中,条件判断函数是用来在查询过程中根据不同的条件返回不同的值。以下是CASE WHEN、IF和IFNULL这三个条件判断函数的具体用法。

    ### 1. CASE WHEN 语句

    CASE WHEN语句在SQL中用于条件判断,类似于编程语言中的if-else语句。它可以用来简化复杂的查询,并使查询更加易读和易于维护。

    #### 简单函数用法:

    ```sql

    CASE 字段

    WHEN 预期值 THEN 结果1

    ELSE 结果2

    END

    ```

    如果字段的值等于预期值,则返回结果1,否则返回结果2。

    **示例**:将表中的sex字段根据性别转换成对应的汉字。

    ```sql

    SELECT name, (CASE sex WHEN 1 THEN '男' ELSE '女' END) sex FROM score;

    ```

    #### 条件表达式用法:

    ```sql

    CASE

    WHEN 条件表达式 THEN 结果1

    WHEN 条件表达式 THEN 结果2

    ...

    ELSE 默认结果

    END

    ```

    当第一个条件表达式为真时,返回结果1;如果为假,继续检查下一个条件表达式,以此类推;如果所有条件都不满足,则返回默认结果。

    **示例**:根据score字段判断学生的成绩级别。

    ```sql

    SELECT name, score, (

        CASE

            WHEN score >= 90 THEN '优秀'

            WHEN score >= 80 THEN '良好'

            WHEN score >= 60 THEN '及格'

            ELSE '不及格'

        END

    ) level FROM score;

    ```

    ### 2. IF 函数

    IF函数在MySQL中用于基于条件表达式返回不同的值。它的基本语法是:

    ```sql

    IF(expr, v1, v2)

    ```

    如果表达式expr为真(非零),则返回v1,否则返回v2。

    **示例**:根据部门名称返回不同的礼品。

    ```sql

    SELECT

        department,

        IF(department = 'IT', '键盘', '鼠标') AS gift

    FROM employees;

    ```

    ### 3. IFNULL 函数

    IFNULL函数用于检测一个表达式是否为NULL,如果不是NULL,则返回该值;如果是NULL,则返回另一个指定的值。

    ```sql

    IFNULL(column1, column2)

    ```

    **示例**:如果sex字段为NULL,则将其视为'未指定'。

    ```sql

    SELECT

        name,

        IFNULL(sex, '未指定') AS sex

    FROM score;

    ```

    这三个函数可以结合使用,以处理复杂的逻辑判断。在实际应用中,应根据具体情况选择最合适的函数。需要注意的是,CASE WHEN语句不仅可以用于SELECT查询,还可以用于UPDATE和DELETE语句中,以实现更复杂的条件更新或删除操作。

    ————————————————

                                版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    原文链接:https://blog.csdn.net/wjianwei666/article/details/135883448

    相关文章

      网友评论

        本文标题:MySQL中的条件判断函数 CASE WHEN、IF、IFNUL

        本文链接:https://www.haomeiwen.com/subject/xisbodtx.html