MySQL替换查询case when

一、背景

在设计数据库的时候,往往,会将一些状态字段设计成 unsigned Tinyint类型(1字节,无符号范围0~255)。这样设置往往是因为,状态字段的状态描述过于复杂。影响查询效率。但是,前端需要的数据往往是转义过后的。

二、适用情况

例如:
- 数据库状态字段取值(0 未审核 1 已审核 2 审核不通过)
- 前端,需要的是未审核,已审核,审核不通过这样的数据。

所以,这里就可以用到Mysql提供的case when语句

三、实例

  • 字段设计
中文说明字段名类型长度是否主键是否外键是否唯一索引可否为空默认值备注
文件类型typetinyint1N(0:csvHeader,1:csvHeaderData,2:csvConn)

- 下面这样的一个字段,我们要查询出来之后,将按照下面的对于关系转化
0:csvHeader
1:csvHeaderData
2:csvConn

  • 查询语句如下
SELECT type,(case file.type when 0 then 'csvHeader' when 1 then 'csvHeaderData' when 2 then 'csvConn' end)type FROM `file`
  • 查询结果:
    这里写图片描述
  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:终极编程指南 设计师:CSDN官方博客 返回首页
评论

打赏作者

HotIce0

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值