Mysql流程控制函数

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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/329862.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM实战(22)——jamp和MAT实战

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

JNPF低代码开发平台总体架构介绍

目录 一、JNPF介绍 二、团队能力 三、技术选型 1.后端技术栈 2.前端技术栈 3.数据库支持 四、JNPF界面示意图 五、开发环境 一、JNPF介绍 JNPF是一款企业级低代码开发平台。基于Springboot、Vue技术,采用微服务、前后端分离架构,基于可视化数据建…

【办公技巧】如何设置Word文档部分内容禁止辑?

工作中我们经常会用到Word制作一些文件,文件中有一部分内容不想他人编辑,我们可以设置限制编辑,可以对一部分内容设置限制编辑,具体方法如下: 我们将需要将可以编辑的地方选中,然后打开限制编辑功能 然后勾…

【数据结构和算法】反转链表

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:迭代(双指针) 2.2 方法二:递归 三、代码 3.…

2018年认证杯SPSSPRO杯数学建模C题(第一阶段)机械零件加工过程中的位置识别全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于轮廓特征的机械零件位置识别研究 C题 机械零件加工过程中的位置识别 原题再现: 在工业制造自动生产线中,在装夹、包装等工序中需要根据图像处理利用计算机自动智能识别零件位置,并由机械手将零件自动搬…

云服务器CVM_云主机_弹性云计算服务器_腾讯云

腾讯云服务器CVM提供安全可靠的弹性计算服务,腾讯云明星级云服务器,弹性计算实时扩展或缩减计算资源,支持包年包月、按量计费和竞价实例计费模式,CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格,提供9个9的数…

SQL Server中数据表的增删查改

文章目录 一、增二、查三、改四、删除 一、增 进行增删查改的前提需要在指定数据库中创建数据表,对这块不大理解的可以先看看前面几期文章: 创建数据库 创建数据表 use StudentManageDB go insert into Students (StudentName,Gender,Birthday,Age,Stu…

ImageNet Classification with Deep Convolutional 论文笔记

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

【QA】Linux-CentOS-全新虚拟机远程连接

文章目录 文章概述尝试连接问题1:解决拒绝连接的问题问题2:root用户可以远程连接了,其他用户不可以 文章概述 新安装的Linux-CentOS虚拟机进行远程连接,需要完成相关配置 尝试连接 虚拟机进入可视化页面,右键点击打…

【Docker】网络配置及自定义网络的使用

一、引言 1、什么是网络配置 Docker的网络配置主要是指Docker容器与外部网络之间的连接设置,包括容器内部的IP地址、端口号等。Docker提供了多种网络模式,包括bridge、host、none等,以满足不同的需求。 默认情况下,Docker使用brid…

android studio Connect timed out

Gradle Distributions 从上面的网站下载对应的版本 放到这个目录下

OpenCV——双边滤波

目录 一、双边滤波二、C代码三、python代码四、结果展示 OpenCV——双边滤波由CSDN点云侠原创。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、双边滤波 双边滤波是一种综合考虑滤波器内图像空域信息和滤波器内图像像素灰度值相似性的…

D2000 debian 11 arm64 aarch64 wine-ce编译安装,运行win32程序 笔记 【失败】

下载源码 yeqiangdebian:~/Downloads$ git clone https://gitee.com/wine-ce/wine-ce Cloning into wine-ce... remote: Enumerating objects: 102, done. remote: Counting objects: 100% (89/89), done. remote: Compressing objects: 100% (83/83), done. remote: Total 10…

【FastAPI】P1 简单实现 a+b

目录 准备工作代码运行 说明:本文通过 FastAPI 实现返回两个参数 ab 的值; 准备工作 默认读者已准备完善 Python IDE工具以及包管理工具。 首先,需要安装 fastapi 和 uvicorn 库,如果没有请使用 pip 进行安装: pip…

k8s的对外服务---ingress

service的作用体现在两个方面: 集群内部:不断追踪pod的变化。他会更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制。 集群外部:类似负载均衡器,把流量IP端口,不涉及转发url(http、htt…

电子雨html代码

废话不多说下面是代码&#xff1a; <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Code</title><style>body{margin: 0;overflow: hidden;}</style></head><body><c…

react-app框架——使用monaco editor实现online编辑html代码编辑器

文章目录 ⭐前言&#x1f496;react系列文章 ⭐配置monaco-editor&#x1f496;引入react-monaco-editor&#x1f496;引入react-app-rewired&#x1f496;通过config-overrides.js添加monaco插件配置 ⭐编辑代码的react页面配置&#x1f496;扩展 可自定义配置语言 ⭐效果⭐总…

web开发学习笔记(8.java web后端开发基础知识)

1.使用spring开发的优势&#xff0c;spring发展到今天已经形成了一种开发生态圈&#xff0c;提供了若干个子项目&#xff0c;每个项目用于完成特定的功能。使用spring全家桶&#xff0c;可以做到很多事情&#xff0c;可以很方便的套用很多的组件。 2.pom构成 指定父工程 <p…

Java零基础教学文档第四篇:HTML_CSS_JavaScript(3)

**【JavaScript】 1.JavaScript的简介 1.1 JavaScript的诞生** 在1995年前后&#xff0c;当时世界上的主流带宽为28.8Kbps&#xff0c;现在世界平均下载带宽为21.9Mbps。当时的网民&#xff0c;每提交一次表单&#xff0c;都需要等待很久才能收到服务器的回应&#xff0c;甚至…

GPT-4 现在是否已经足够划算?

我通常使用 GPT 的方式是&#xff0c;先用 GPT-4 来快速搭建一个原型&#xff0c;然后不断优化&#xff0c;直到解决方案能够在 GPT-3.5 模型上运行。 这个方法在我的实践中非常高效&#xff0c;它的一个重要好处是能迅速筛选出那些“行不通”的项目——如果你在几天内都无法使…