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)

大家都在看

  • Java韩顺平

    慢慢更新 什么是程序 程序是有序指令的集合 CMD编译执行Java文件 编译:javac 文件名.java执行:java 文件名 文件夹地址栏 输入 CMD 弹出本文件夹命令行 J…

    数据库 2023年6月11日
    060
  • pg小工:pgsql的介绍

    支持邮件列表 http://www.postgresql.org/community/lists/ Original: https://www.cnblogs.com/lyhabc…

    数据库 2023年6月9日
    0105
  • 一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

    这一周线上碰到一个诡异的BUG。 线上有个定时任务,这个任务需要查询一个表几天范围内的一些数据做一些处理,每隔十分钟执行一次,直至成功。 通过日志发现,从凌晨5:26分开始到5:5…

    数据库 2023年6月16日
    0111
  • MyBatis-Plus修改数据,会不会把其他字段置为null

    前两天在用MyBatis-Plus写了一张单表的增删改查,在写到修改的时候,就突然蹦出一个奇怪的想法。 MyBatis-Plus的BaseMapper中有两个关于修改的方法。如下:…

    数据库 2023年6月11日
    0117
  • MySQL–排序检索数据(ORDER BY)

    检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到…

    数据库 2023年6月16日
    080
  • mysql中all用法和any的用法和内连接和外连接,全外连接,联合查询,自连接

    与子查询配合使用 在all的用法中,有三种 语法:select 列名 from 表名 where 列名 <> all(select 列名 from 表名 where 条…

    数据库 2023年5月24日
    0113
  • SpringBoot快速入门

    虽然我的工作中更多的是与数据库打交道,但是作为一个 Coder,我觉得掌握前后端的 Web技术来说是非常有必要的。 不仅可以帮助我们在工作中更好的理解其他岗位与你对接的人他的工作痛…

    数据库 2023年6月11日
    074
  • 6、发送验证码功能(Redis)

    一、业务需求: 1、后端随机生成短信验证码,并在服务器端保存一定时间(redis); 2、将短信验证码发给用户; 3、用户输入短信验证码提交后,在后端与之前生成的短信验证码作比较,…

    数据库 2023年6月6日
    085
  • MySQL 主从同步延迟监控

    MySQL5.7和8.0支持通过 replication_applier_status 表获同步延迟时间,当从库出现延迟后,该表中的字段 REMAINING_DELAY 记录延迟秒…

    数据库 2023年6月11日
    0107
  • go 切片的扩容

    slice type slice struct { array unsafe.Pointer len int cap int } func makeslice(et *_type,…

    数据库 2023年6月9日
    058
  • redhat 7.4从openssh7.6离线升级openssh8.4p1解决方法

    具体需求 这几天生产环境服务器又进行了安全扫描,每次都会报一下漏洞错误。虽然只有一个高危问题,但是每次看到ssh远程漏洞都很烧脑 “主要是里面坑太多了”,闲…

    数据库 2023年6月14日
    080
  • Python–模块Module

    1、定义模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件,(文件名:test.py,对应的模块名test)包:用来…

    数据库 2023年6月9日
    088
  • Sencha Cmd 常用命令

    1、获取帮助 sencha help generate app 2、创建应用程序 sencha -sdk e:\ext\ext6 generate app -classic Sim…

    数据库 2023年6月9日
    090
  • MySQL 日志管理

    日志文件记录 MySQL 数据库运行期间发生的变化,当数据库遭到意外的损害时,可以通过日志文件查询出错原因,并进件数据恢复 MySQL 日志文件可以分成以下几类: 二进制日志:记录…

    数据库 2023年5月24日
    059
  • html学习笔记

    学完html基本以后,现在对html知识做以下总结: 以上内容来源于bilibiliup狂神说 html html,即超文本标记语言(Hyper Text Markup Langu…

    数据库 2023年6月14日
    089
  • Java的值传递

    1. 形参和实参 实参(实际参数) :用于传递给函数/方法的参数,必须有确定的值。 形参(形式参数) :用于定义函数/方法,接收实参,不需要有确定的值 2. 值传递和引用传递 值传…

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