位置:首页 > 软件操作教程 > 数据分析 > MySQL > 问题详情

MySQL——case语句

提问人:刘旭39发布时间:2020-10-13

case语句

第一种表达方式:

语法格式为:

CASE case_value

    WHEN when_value THEN statement_list

    [WHEN when_value THEN statement_list] ...

    [ELSE statement_list]

END CASE

说明:一个CASE语句经常可以充当一个IF-THEN-ELSE语句。

第一种格式中case_value是要被判断的值或表达式,接下来是一系列的WHEN-THEN块,每一块的when_value参数指定要与case_value比较的值,如果为真,就执行statement_list中的SQL语句。如果前面的每一个块都不匹配就会执行ELSE块指定的语句。CASE语句最后以END CASE结束。


例如

创建一个存储过程,当参数值为M,返回结果为“男”,当参数值为F,返回结果为“女” 。

DELIMITER $$

CREATE PROCEDURE XSCJ.RESULT

(IN str VARCHAR(4), OUT sex VARCHAR(4) )

BEGIN

 CASE str

WHEN 'M' THEN SET sex='男';

WHEN 'F' THEN SET sex='女';

ELSE  SET sex='无';

END CASE;

END$$

DELIMITER ;

第二种表达方式:相比第一种表达方式,case后面没有参数,这种格式能够实现更为复杂的条件判断,使用起来更方便

用第二种格式的CASE语句创建以上存储过程。程序片段如下:

CREATE PROCEDURE XSCJ.RESULT

(IN str VARCHAR(4), OUT sex VARCHAR(4) )

BEGIN

CASE 

WHEN str='M' THEN SET sex='男';

WHEN str='F' THEN SET sex='女';

ELSE  SET sex='无';

END CASE;

END$$

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部