笑看天下无敌手 发表于 2022-8-26 10:25:05

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

# md函数笔记五

注:笔记旨在记录

目录

[*]五、MySQL 流程控制函数

[*]0.表
[*]0.1 num表:
[*]1. IF() -- 条件判断

[*]1.1. 函数:
[*]1.2. sql示例:

[*]2. IFNULL() --判空判断

[*]2.1. 函数:
[*]2.2. sql示例:

[*]3. CASE -- 求总数

[*]3.1. 函数:
[*]3.2. sql示例:



五、MySQL 流程控制函数

\函 数 名 称作用完 成1IF条件判断勾2IFNULL判空判断勾3CASE求数量勾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;https://s2.loli.net/2022/07/12/7JimUN9yp2IcRWg.png
1. IF() -- 条件判断

1.1. 函数:


[*]IF(expr1,expr2,expr3) : expr1为判断条件,符合则返回expr2,否则expr3
1.2. sql示例:

SELECT rand_int_num,IF(rand_int_num < 15,"√","×") from numhttps://s2.loli.net/2022/07/13/Dav8Ut4wxyBYkRm.png
2. IFNULL() --判空判断

2.1. 函数:


[*]IFNULL(expr1,expr2) :expr1为判断的值或字段,为空则返回expr2
2.2. sql示例:

SELECT rand_int_num,IFNULL(rand_int_num,"√") from numhttps://s2.loli.net/2022/07/13/XNm8Z2Q6uxMLcjI.png
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
https://s2.loli.net/2022/07/13/79RQxp1rTq56nks.png

[*]写法二:
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
https://s2.loli.net/2022/07/13/Nz2mVwAfD5iRZ9a.png
    SELECT CASE
      WHEN WEEKDAY(NOW())=0 THEN '星期一'
      WHEN WEEKDAY(NOW())=1 THEN '星期二'
      WHEN WEEKDAY(NOW())=2 THEN '星期三'
      WHEN WEEKDAY(NOW())=3 THEN '星期四'
      WHEN WEEKDAY(NOW())=4 THEN '星期五'
      WHEN WEEKDAY(NOW())=5 THEN '星期六'
      WHEN WEEKDAY(NOW())=6 THEN '星期天'
    END AS COLUMN1,NOW(),WEEKDAY(NOW()),DAYNAME(NOW());https://s2.loli.net/2022/07/13/jOSQ2hpfMkRmlU3.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: MySQL函数学习(五)-----流程控制函数