mysql case_Mysql-case when 使用

当我们在查询数据的时候,我们可能希望对于一些数字的枚举值展示出其实际的文案值

比如:性别1我们想显示男,2我们想显示女。

一、case 使用场景

1.1 简单函数

CASE case_value

WHEN when_value THEN statement_list

[WHEN when_value THEN statement_list] ...

[ELSE statement_list]

END CASE

1.2 case搜索函数

CASE

WHEN search_condition THEN statement_list

[WHEN search_condition THEN statement_list] ...

[ELSE statement_list]

END CASE

二、使用示例

2.1 简单case函数

case `gender`

when 1 then '男'

when 2 then '女'

else '未知'

end

2.2 case搜索函数

case

when gender = 1 then '男'

when gender = 2 then '女'

else '未知'

end

准备数据如下

create table if not exists test_user(

`id` bigint(20) not null AUTO_INCREMENT comment '主键自增ID',

`name` varchar(64) not null comment '姓名',

`gender` integer not null comment '性别,1: 男, 2: 女',

`country_code` integer not null comment '所属国家CODE',

primary key (`id`)

) charset = 'utf8mb4' comment '测试表';

一张参照表

国家

country_code

中国

100

美国

110

法国

120

雪国

其他

INSERT INTO `test_user` (`name`, `gender`, `country_code`)

VALUES

('清风', 1, 100),

('玄武', 2, 100),

('Kobe', 1, 110),

('John Snow', 1, 200),

('Peut-être', 0, 120);

三、实战示例

3.1 使用case简单函数

select `id`, `name`, `gender`,

(case `gender`

when 1 then '男'

when 2 then '女'

else '未知'

end) as '性别',

`country_code`

from test_user;

1bfddf9fd91e

简单case查询结果.png

3.2 使用case搜索函数查询

select id, `name`, gender,

(case

when gender = 1 then '男'

when gender = 2 then '女'

else '未知'

end) as '性别',

country_code,

(case

when country_code = 100 then '中国'

when country_code = 110 then '英国'

when country_code = 120 then '法国'

else '雪国'

end) as '国籍'

from test_user;

1bfddf9fd91e

搜索函数查询结果.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值