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)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球