Mysql流程控制函数

发布时间:2024年01月18日

1概述

??Mysql中的流程控制函数非常重要,可以根据不同的条件,执行不同的流程转换,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。
在这里插入图片描述

1.1 IF函数

SELECT IF(1 > 0, '正确', '错误');

在这里插入图片描述

1.2 IFNULL函数

SELECT IFNULL(null,'Hello Word');

在这里插入图片描述

SELECT IFNULL('非空','Hello Word');

在这里插入图片描述

1.3 CASE WHEN

1)在 SELECT 语句中使用 CASE WHEN:

SELECT 
    column1,
    column2,
    CASE 
        WHEN column3 > 10 THEN 'Greater than 10'
        WHEN column3 = 10 THEN 'Equal to 10'
        ELSE 'Less than 10'
    END AS result
FROM your_table;

2)在 WHERE 子句中使用 CASE WHEN:

SELECT *
FROM your_table
WHERE 
    CASE 
        WHEN column4 = 'active' THEN 1
        WHEN column4 = 'inactive' THEN 0
        ELSE NULL
    END = 1;

3)在 ORDER BY 子句中使用 CASE WHEN:

SELECT *
FROM your_table
ORDER BY
    CASE 
        WHEN column5 = 'High' THEN 1
        WHEN column5 = 'Medium' THEN 2
        WHEN column5 = 'Low' THEN 3
        ELSE 4
    END;

??总体而言,CASE WHEN 语句非常灵活,可以根据需要进行多层嵌套,用于处理复杂的条件逻辑。

1.4 CASE 表达式 WHEN

SELECT oid,`status`, 
	CASE `status` 
		WHEN 1 THEN '未付款'
		WHEN 2 THEN '已付款'
		WHEN 3 THEN '已发货'
		WHEN 4 THEN '确认收货'
	ELSE '无效订单' END
FROM t_order;
文章来源:https://blog.csdn.net/qq_41246557/article/details/135661720
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。