mysql流程控制语句笔记_二十六、MySQL基础系列笔记之条件流程控制语句

流程控制语句用于实现逻辑控制,用于判断不同条件执行不同的流程。MySQL提供了三种条件判断函数:IF、CASE等。下面将对这种函数进行记录。要注意了,这里的语句与函数有区别,如if()函数与if语句在语法上是区别的,用法也不同。注意:流程控制语句只能在存储过程、函数、触发器中使用。

IF语句

IF语句实现条件判断,满足不同条件执行不同的语句列表。

语法IF 条件 THEN

sql语句;

ELSE 条件 THEN

sql语句;

ELSE

sql语句

END IF;

案例DELIMITER //

DROP PROCEDURE IF EXISTS demo01//

CREATE PROCEDURE demo01(IN sGender TINYINT)

BEGIN

IF sGender=1 THEN

SELECT '男';

ELSEIF sGender=2 THEN

SELECT '女';

ELSE

SELECT '不男不女';

END IF;

END//

CALL demo01(1)//

CASE语句

CASE语句为多分支语句结构,该语句首先从WHEN后的VALUE中查找与CASE后的VALUE相等的值,如果查找到则执行该分支的内容,否则执行ELSE后的内容。

语法# 形式一

CASE value

WHEN value THEN sql语句;

WHEN value THEN sql语句;

ELSE sql语句;

END CASE

# 形式二

CASE

WHEN value THEN sql语句;

WHEN value THEN sql语句;

ELSE sql语句;

END CASE

案例# 案例一:形式一

DELIMITER //

DROP PROCEDURE IF EXISTS demo02//

CREATE PROCEDURE demo02(IN sGender TINYINT)

BEGIN

CASE sGender

WHEN 1 THEN SELECT '男';

WHEN 2 THEN SELECT '女';

ELSE SELECT '不男不女';

END CASE;

END//

CALL demo02(2)//

# 案例二:形式二

DELIMITER //

DROP PROCEDURE IF EXISTS demo03//

CREATE PROCEDURE demo03(IN sGender TINYINT)

BEGIN

CASE

WHEN sGender=1 THEN SELECT '男';

WHEN sGender=2 THEN SELECT '女';

ELSE SELECT '不男不女';

END CASE;

END//

案例--星期查询DELIMITER //

DROP PROCEDURE IF EXISTS demo04//

CREATE PROCEDURE demo04(IN ttime DATETIME,OUT w VARCHAR(20))

BEGIN

CASE

WHEN weekday(ttime)=0 THEN set w='星期1';

WHEN weekday(ttime)=1 THEN set w= '星期2';

WHEN weekday(ttime)=2 THEN set w= '星期3';

WHEN weekday(ttime)=3 THEN set w= '星期4';

WHEN weekday(ttime)=4 THEN set w= '星期5';

WHEN weekday(ttime)=5 THEN set w= '星期6';

ELSE set w= '星期7';

END CASE;

END//

# 调用

set @ww=''//

call demo04(now(),@ww)//

select @ww//

我是小白,期待和优秀的你一起同行!

小白

2020年11月20日

转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!

很赞哦!(5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值