嗨客网搜索
数据库教程

Mysql的CASE函数

Mysql的CASE函数教程

CASE 函数允许根据筛选条件,当与第一个条件符合时返回一个值。本章我们用到的建表案例语句如下:

-- 嗨客网(www.haicoder.net) CREATE TABLE `tb_func` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `sex` int(4) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; INSERT INTO tb_func (`name`,`sex`) values ('haike',0), ('嗨客网',1), ('hai',0);

Mysql的CASE函数描述

简单的CASE语句

CASE <表达式> WHEN <值1> THEN <操作> WHEN <值2> THEN <操作> ... ELSE <操作> END CASE;

适用于等值条件判断场景,不适用于不等于、大于、小于的判断。

可搜索的CASE语句

CASE WHEN <条件1> THEN <命令> WHEN <条件2> THEN <命令> ... ELSE commands END CASE;

适用于复杂判断场景,可用于等于、不等于、大于、小于的判断。且使用组合判断。推荐使用该方法。

案例

简单的CASE语句案例

-- 嗨客网(www.haicoder.net) SELECT *,(CASE sex WHEN '1' THEN '男' WHEN '0' THEN '女' ELSE '保密' END) AS sex_text FROM tb_func;

运行结果如下:

03 case_01.png

可搜索的CASE语句

-- 嗨客网(www.haicoder.net) SELECT *,(CASE WHEN sex = 1 THEN '男' WHEN sex = 0 THEN '女' ELSE '保密' END) AS sex_text FROM tb_func;

运行结果如下:

04 case_02.png

Mysql的CASE函数总结

CASE 函数允许根据筛选条件,当与第一个条件符合时返回一个值。

嗨客网顶部