MySQL函数学习(五)—–流程控制函数

md函数笔记五

注:笔记旨在记录

五、MySQL 流程控制函数

\ 函 数 名 称 作 用 完 成 1 IF

条件判断 勾 2 IFNULL

判空判断 勾 3 CASE

求数量 勾

0.

0.1 num表:

CREATE TABLE anyot.Untitled  (
id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
rand_int_num int NULL DEFAULT NULL,
rand_decimal_num decimal(65, 2) NULL DEFAULT NULL,
rand_string_num varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

MySQL函数学习(五)-----流程控制函数

1. IF() — 条件判断

1.1. 函数:

  • IF(expr1,expr2,expr3) : expr1为判断条件,符合则返回expr2,否则expr3

1.2. sql示例:

SELECT rand_int_num,IF(rand_int_num < 15,"&#x221A;","&#xD7;") from num

MySQL函数学习(五)-----流程控制函数

2. IFNULL() — 判空判断

2.1. 函数:

  • IFNULL(expr1,expr2) :expr1为判断的值或字段,为空则返回expr2

2.2. sql示例:

SELECT rand_int_num,IFNULL(rand_int_num,"&#x221A;") from num

MySQL函数学习(五)-----流程控制函数

3. CASE — 求总数

3.1. 函数:

注: case结合when,else,end使用;其中else可以省略,但end一定要加。

  • 写法一:
  CASE case_value
      WHEN when_value THEN statement_list
      WHEN ...

      ELSE statement_list
  END;
  • 写法二:
  CASE
      WHEN expr1 THEN statement_list
      WHEN ...

      ELSE statement_list
  END;

3.2. sql示例:

  • 写法一:
  SELECT rand_int_num,
  CASE rand_int_num
      WHEN 14 THEN " == 14"
      WHEN 44 THEN " == 44"
      ELSE " != 14"
  END as is14
  from num

MySQL函数学习(五)-----流程控制函数
  • 写法二:
  SELECT rand_int_num,
  CASE WHEN rand_int_num = 14 THEN " == 14"
      ELSE " != 14"
  END as is14 ,rand_string_num,
  CASE WHEN rand_string_num = "a99" THEN " == a99"
      ELSE " != a99"
  END as isa99 from num

MySQL函数学习(五)-----流程控制函数
    SELECT CASE
        WHEN WEEKDAY(NOW())=0 THEN '&#x661F;&#x671F;&#x4E00;'
        WHEN WEEKDAY(NOW())=1 THEN '&#x661F;&#x671F;&#x4E8C;'
        WHEN WEEKDAY(NOW())=2 THEN '&#x661F;&#x671F;&#x4E09;'
        WHEN WEEKDAY(NOW())=3 THEN '&#x661F;&#x671F;&#x56DB;'
        WHEN WEEKDAY(NOW())=4 THEN '&#x661F;&#x671F;&#x4E94;'
        WHEN WEEKDAY(NOW())=5 THEN '&#x661F;&#x671F;&#x516D;'
        WHEN WEEKDAY(NOW())=6 THEN '&#x661F;&#x671F;&#x5929;'
    END AS COLUMN1,NOW(),WEEKDAY(NOW()),DAYNAME(NOW());

MySQL函数学习(五)-----流程控制函数

Original: https://www.cnblogs.com/hmpn/p/16474020.html
Author: hmpn
Title: MySQL函数学习(五)—–流程控制函数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505232/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mysql练习题emp,dept

    DROP DATABASE IF EXISTS emp; CREATE DATABASE emp; USE emp; &#xA0;CREATE TABLE dept( &a…

    数据库 2023年6月9日
    0167
  • SQL语言的总结

    SQL语言分类:1.数据查询语言(DQL:Data Query Language),也称为”数据检索语句”,用以从表中查询获得数据,常用关键字SELECT …

    数据库 2023年6月16日
    084
  • C语言学习笔记

    C语言学习笔记 预处理 #include include指令可以将另一个源文件的全部内容包含进来 include “stdio.h” #include 用尖…

    数据库 2023年6月14日
    0100
  • Mysql_范式入门

    MySQL 三大范式 为什么需要数据规范化 信息重复 更新异常 插入异常 无法正常显示信息 删除异常 丢失有效的信息 设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据…

    数据库 2023年6月11日
    079
  • 图像处理

    绘制图像绘图类 不仅可以绘制几何图形, 还可以绘制图像,绘制图像需要使用 drawImage()方法 ,该方法用来将图像资源显示到绘图上下文中。drawImage()方法 语法: …

    数据库 2023年6月16日
    083
  • 500 ZuulException: Forwarding error

    com.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud.ne…

    数据库 2023年6月16日
    078
  • Mysql客户端的安装

    Mysql数据库(简称)属于C/S架构,正常工作中一般都会提供服务端,我们只需要安装客户端进行查询修改数据等操作即可。 在正常工作中,无论是测试人员还是开发人员,总数据库管理员(测…

    数据库 2023年5月24日
    074
  • 在windows上用docker desktop安装StoneDB

    自6月底开源以来,许多热心的社区用户都对StoneDB进行了编译和测试,也有一些用户询问StoneDB是否会支持Windows。虽然适配Windows版本的StoneDB尚未进入研…

    数据库 2023年5月24日
    098
  • JSP基础知识总结

    JSP概述 什么是 jsp Servlet 程序输出 html 页面 如何创建一个 jsp 动态页面程序 如何修改 jsp 文件的默认编码 jsp 的运行原理 jsp 的语法 js…

    数据库 2023年6月11日
    092
  • webclient设置代理

    https://qa.1r1g.com/sf/ask/4102971771/ 本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://…

    数据库 2023年6月11日
    060
  • Dubbo源码(七)-集群

    前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 集群(cluster)就是一组计算机,它们作为一个总体向用户提供一组网络资源…

    数据库 2023年6月11日
    084
  • 读取resources下的资源

    这里我通过一个普通的SpringBoot项目进行测试,当然其他项目也都是通用的。 将其中的Test修改为你的类名即可: java;gutter:true; import lombo…

    数据库 2023年6月14日
    067
  • MySQL8.0.x 安装傻瓜式教程【极简】

    MySQL8.0.x 安装 一、下载 MySQL官网下载链接:https://downloads.mysql.com/archives/community/ 选择版本后下载zip文…

    数据库 2023年5月24日
    072
  • Mysql 触发器

    Mysql触发器 1、1 触发器定义 ​ 触发器是由事件来触发某个操作, 事件包括 insert update delete事件, 优势: 保证数据完整性。 触发器可以帮助记录操作…

    数据库 2023年6月11日
    074
  • Oracle 有排序的分页SQL写法

    第一种: 第二种: 第一种比第二种效率会高,这是因为:CBO 优化模式下,Oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率。对于第一个查询语句,第二层的查询…

    数据库 2023年6月16日
    076
  • Windows 是最安全的操作系统

    建了一个用户交流群,我在群里说:”Windows 是最安全的操作系统。” 立刻引发了很多有意思的观点。我在群里一个人说不过大家,先篇文章把自己的论点罗列一下…

    数据库 2023年6月6日
    0238
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球