mysql学习---流程控制函数(条件判断)case when ,if使用

news2025/1/6 19:24:45

文章目录

  • 流程控制函数
    • 流程控制函数的介绍
    • 流程函数的使用

流程控制函数

流程控制函数的介绍

  • if(value,value1,value2)
    解释:如果value的结果为true ,返回value1,否则返回value2
    例如:

    select if(1>0,'正确','错误')
    ->正确
    
  • ifnull(value1,value2)
    解释:如果value为空,返回value2,否则返回value1
    例如:

    select(null,'hellow')
    ->hellow
    
  • case when 条件1 then 结果1 when 条件2 then 结果2 else 结果3 end
    解释:相当于if else if else
    例如,根据成绩grade字段判断是否良好

    select case 
    when grade >90
    then '优秀'
    when grad>60and grad <=90
    then ‘良好’
    else '不及格'
    end
    
  • case expr when 常量值1 then 值1 when 常量值2 then 值2 else 值3
    end
    解释:相当于switch
    例如,字段sex,存放的值 ,1为男 ,2 是 女,其他未知

    select case sex when 1 then '男'
    when 2 then '女'
    else '其他'
    end
    

流程函数的使用

case when这些是流程控制函数,和其他函数一样 可以放在select后,也可放在where 后

  • 放在select 后,是对查询的字段进行处理(主要是判断),liru
select case 字段 when .... then .... end
  • 放在 where 后,是对条件的处理,例如,查询订单类型为1的金额大于100,和订单类型为2的金额大于80
select * from 表名 where 
(case 订单类型字段 when 1 then 100  when 2 then  80 ) <= salary
  • 常用使用是判断字段是否为空,例如
select if(字段 is null,'字段为空',‘字段不为空’)
  • isnull()函数,isnull(字段), 字段为空返回1,为空返回0
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Babel快速入门

一、简介 Babel是一个广泛使用的转码器&#xff0c;可以将ES6代码转为ES5代码&#xff0c;从而在现有环境执行执行。 这意味着&#xff0c;你可以现在就用 ES6 编写程序&#xff0c;而不用担心现有环境是否支持。 二、安装 安装命令行转码工具 Babel提供babel-cli工具&#xff…

Mysql调优(三)——通过索引进行优化、 查询优化

接上&#xff1a;Mysql调优&#xff08;二&#xff09;——schema与数据类型优化、执行计划 本篇文章在一定程度上与下面两篇文章重合&#xff0c;笔者建议优先读下面两篇文章&#xff0c;本文偏向概念&#xff0c;而它们偏向原理&#xff1a; Mysql索引的本质深入浅出&#x…

全栈Jmeter接口测试(五):json提取器元件及jsonpath介绍,响应断言元件

Jmeter(10)&#xff1a;json提取器元件及jsonpath介绍 json提取器元件介绍&#xff1a; json提取器与正则表达式提取器功能类似&#xff0c;也是用来截取响应信息的部分保 存到指定的变量中去&#xff0c;不同的是&#xff0c;它只能用来处理响应正文&#xff0c;并且响应正文…

ITE Super IO 学习 – 串口

串口都算是一个比较古老的功能了,也就是比较成熟了。Super IO中的大部分是硬件已经做好的,BIOS这边只需做小小的改动甚至默认便可以工作了。 串口寄存器 串口有关的寄存器总的来说有4个,两个用来设置IO资源的地址,一个是中断号选择,还有一个特殊配置寄存器。 Seri…

高级路由期末命令配置

文章目录前提要求(1)拓扑图搭建及IP地址规划拓扑图配置&#xff1a;IP地址表规划表1网络连接规划表表2 网络设备明细表表3 IP规划表&#xff08;2&#xff09;OSPF&#xff08;3&#xff09;BGP&#xff08;4&#xff09;路由引入&#xff08;5&#xff09;路由选择&#xff08…

PicoDet代码学习记录

推理步骤 [picodet_s_320_coco.yml] Infer.py main()->run()Trainer.py __init__() self.model create(cfg.architecture) Picodet.py from_config()->__init__() head create(cfg[head], **kwargs)时候调用&#xff1a; Layers.py MultiClassNMS __…

Django(一)

一、Django介绍 1、python语言编写的开源web框架 2、重量级python web框架&#xff0c;配备了常用的大部分组件 3、组件&#xff1a; ※基本配置文件/路由系统 ※模型层&#xff08;M&#xff09;/模板层&#xff08;T&#xff09;/视图层&#xff08;V&#xff09; ※co…

Cadence创建插件焊盘(超详细)

背景&#xff1a;Cadence画封装&#xff0c;在我看来&#xff0c;操作是比较不方便的事儿&#xff0c;所以在此在记录一遍。要画一个插件封装&#xff0c;需要调用画好的焊盘&#xff08;AD里直接设置即可&#xff09;&#xff0c;另外放置好pin的位置和绘制好边框。包括遇到的…

SpringBoot集成阿里EasyExcel导出excel高级实战

目录参考一、引入包二、导出到文件并输出到后台三、过滤字段方式1&#xff1a;类上加注解 ExcelIgnoreUnannotated&#xff0c;过滤属性没有ExcelProperty注解的字段方式2&#xff1a;指定字段加注解方式3&#xff1a;代码指定过滤字段, 同一个excel生成两个sheet分别过滤不同字…

clickhouse集群搭建

一、clickhouse单机部署 clickhouse镜像下载地址 https://mirrors.tuna.tsinghua.edu.cn/clickhouse/ 1、关闭防火墙 #查看防火墙状态systemctl status firewalld#关闭防火墙systemctl stop firewalld#设置防火墙服务开机不自启systemctl disable firewalld#再次查看防火墙检…

开源软件如何使企业和业务受益

在当今技术驱动、快速发展的商业环境中&#xff0c;越来越多的公司选择投资开源软件。开源为企业提供了许多优势&#xff1a;更快的创新步伐、来自庞大而热情的社区的强大支持以及不受供应商锁定的影响。 对于许多人来说&#xff0c;开源不仅仅是编码。它代表了一种生活方式。…

使用IDEA工具,通过Java API 操作 HDFS (文件/目录的操作,含源码,详细操作步骤)

文章目录一&#xff0c;了解 HDFS Java API&#xff08;一&#xff09;HDFS常见类与接口&#xff08;二&#xff09;FileSystem的常用方法二&#xff0c;编写Java程序访问HDFS01 创建Maven项目02 添加相关依赖03 创建日志属性文件&#xff08;1&#xff09;在resources目录里创…

2022年还剩半个月,我从外包公司离职了...

今天是12.12&#xff0c;距离元旦也仅剩半个月&#xff0c;大家都在考论假期怎么过&#xff0c;没错&#xff0c;我离职了... 19年大专毕业通过校招进入了一家外包公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff…

MyBatis 注解开发

文章目录一、单表查询1. Select 注解2. Insert 注解3. Update 注解4. Delete 注解5. Param 注解二、多表关联查询1. 一对一查询2. 一对多查询3. 多对多查询一、单表查询 1. Select 注解 前面的章节介绍了 MyBatis 的基本用法、关联映射、动态 SQL 和缓存机制等知识&#xff0…

[附源码]计算机毕业设计房屋租赁系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225)

算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225&#xff09; 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f;目录1. MT2201 字符串转换2. MT2202 Summer Pockets3. MT2203…

alsa框架与音频芯片移植基础

ALSA音频框架 Alsa是Advanced Linux Sound Architecture的缩写&#xff0c;即高级Linux声音架构&#xff0c;在Linux操作系统上提供了对音频和MIDI的支持。在Linux 2.6的内核版本后&#xff0c;Alsa目前已经成为了linux的主流音频体系结构。 除了 alsa-driver&#xff0c;ALS…

CSS -- 使用纯CSS绘制三角形及常见案例汇总

文章目录1. 绘制原理2. 绘制最简单的三角形3. 绘制对话框4. 绘制两条直角边不等长的三角形1. 绘制原理 网页中常见一些三角形&#xff0c;使用 CSS 直接画出来就可以&#xff0c;不必做成图片或者字体图标 给每个边框不同的颜色可以看到&#xff0c;每个边框其实都是一个小三…

测试(缺陷管理)

目录 1.缺陷管理理论 1.1.定义 1.2缺陷的名称 1.3.产生缺陷的原因 1.4.缺陷管理流程 1.5.缺陷管理生命周期与状态 2.如何提交缺陷 2.1.提交的Bug的目的 2.2.提交Bug的注意事项 2.3.提交Bug报告应遵循的原则 2.4.Bug报告需包含哪些内容 1.缺陷管理理论 1.1.定义 软件…

rust编程-rust所有权理解(chapter 4.3 Slice切片类型)

目录 3. 切片&#xff08;Slice&#xff09;类型 3.1 String slice(字符串切片) 3.2 其它切片 3. 切片&#xff08;Slice&#xff09;类型 切片可以用来获取一个集合中连续的元素序列&#xff0c;且切片是一种引用类型&#xff0c;因此不具有所有权。 如下是一个小的编程示…