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)

大家都在看

  • Docker常用命令

    镜像:Docker 镜像是用于创建 Docker 容器的模板容器:容器是独立运行的一个或一组应用仓库:用来保存镜像,可以理解为代码控制中的代码仓库 一个仓库中包含多个镜像,以镜像为…

    数据库 2023年6月11日
    087
  • 16 两个对象值相同(x.equals(y) == true),但却可以有不同的hashCode,这句话对不对?

    不对,如果两个对象x和y满足x.equals(y) == true,那么他们的哈希码应该相同。 根据hashCode方法协定:在每个重写了equals方法的类中,必须重写hashC…

    数据库 2023年6月6日
    080
  • 详解Threejs中的光源对象

    光源的分类 AmbientLight(环境光), PointLight(点光源), SpotLight(聚光源) 和 DirectionalLight(平行光)是基础光源 Hemi…

    数据库 2023年6月11日
    0110
  • 《SpringBoot官网文档:2.1.5》

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    087
  • JavaWeb连接MySQL数据库

    JavaWeb连接MySQL数据库 JavaWeb连接MySQL数据库的方式有很多,首先我们讲解JDBC的配置方法 一、JDBC的配置方法 1、什么是JDBC 什么是JDBC嘞?J…

    数据库 2023年5月24日
    072
  • 摸鱼系列之idea摸鱼插件推荐

    前言 作为一枚程序员,上班时候正撸着代码呢,撸不出代码了,没灵感了,看需求念头不通达了,脑瓜里蹦不出一丁点火花了,这时候怎么办?程序在运行,还要好几分钟,等待时间里,白白浪费了,玩…

    数据库 2023年6月16日
    0133
  • MySQL实战45讲 17

    17 | 如何正确地显示随机消息? 场景:从词汇表中随机选择三个单词。 [En] Scene: three words are randomly selected from a v…

    数据库 2023年5月24日
    096
  • MYSQL/Oracle中常用函数总结

    记录在日常工作或者学习中中使用到的函数,以下是做一个备忘~ MySQL: 窗口函数: 原文地址:https://zhuanlan.zhihu.com/p/92654574 1、窗口…

    数据库 2023年6月14日
    0108
  • 数据库概述

    MySQL的启动、停止 启动: net start mysql80 停止: net stop mysql80 (PS:mysql80为Win注册到MySQL中的系统服务名称)* M…

    数据库 2023年6月16日
    0127
  • 安全生产 系统稳定性建设

    前言 安全是产品的底座,是体验的基础,也是企业的一项核心竞争力。安全生产是一项系统性的工作,同时也是一件比较琐碎的事,需要做方方面面的考虑尽一切可能保障系统安全稳定运行。个人之前一…

    数据库 2023年6月14日
    083
  • jspdf.js+html2canvas将HTMl导出PDF

    jspdf.js+html2canvas将HTMl导出PDF 功能: PDF分页插入页头页尾 输出A4格式PDF 支持单页、多页输出 效果预览:查看演示PDFdemo地址:demo…

    数据库 2023年6月11日
    0110
  • MyBatis-Plus入门教程及基本API使用案例

    一、MyBatisPlus简介 1. 入门案例 问题导入 MyBatisPlus环境搭建的步骤? 1.1 SpringBoot整合MyBatisPlus入门程序 ①:创建新模块,选…

    数据库 2023年6月16日
    0102
  • ReentrantLock 公平锁源码 第2篇

    Reentrant 2 前两篇写完了后我自己研究了下,还有有很多疑惑和问题,这篇就继续以自问自答的方式写 如果没看过第1篇的可以先看看那个https://www.cnblogs.c…

    数据库 2023年6月16日
    079
  • 如何识别 SQL Server 的版本

    本文介绍如何识别当前的Microsoft SQL Server 版本号和相应的产品或Service Pack 级别。同时介绍如何识别正在使用的SQL Server 具体版本。 如何…

    数据库 2023年6月11日
    083
  • Harsh =哈希 =散列

    key-hash-%-index Harsh =哈希 =散列 HarshCode=哈希码=哈希代码=散列码=散列值 哈希函数=散列函数=哈希算法=Harsh Algorithm 散…

    数据库 2023年6月14日
    080
  • 记一次vcenter连接esxi失败问题排查(443端口不通)

    vecenter错误 esxi宿主机重启后,vcenter连接esxi提示超时,使用vmware客户端连接esxi也提示超时,开始介入排查。 故障排查 如何进入命令终端 运行alt…

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