今天遇到一个需求,将某表中的某些数据导出Excel。
用Navicat for MySQL很方便,写一个mysql查询语句点击导出按钮即可。又快又省事。
但是遇到一个问题,表中等级字段里保存的是数字1、2、3、4、5,而导出的Excel结果在等级列显示的全是数字,这就导致领导看不懂,对用户很不友好,要是能显示领导熟悉的等级模式?比如ABC等,那就好了。
怎么办?又不是用PHP代码,要求在数据库中直接用sql语句写出来,查询结果要理想,这玩意要怎么实现?
我想到枚举。是的,突然想到的,这也许是项目经验丰富的唯一好处吧,它让解决问题的思维变得迅速快捷,而且离成功更近一点。
废话不多说,下面是代码。需要用到case when流程控制语句。
select c.id as 'ID',c.c_name as '名称',
case c.user_level
when 10 then 'A'
when 11 then 'B'
when 12 then 'C'
when 13 then 'D'
else 'E'
end as '等级',
a.op_name as '操作',c.create_time as '创建时间',c.update_time as '更新时间' from company c LEFT JOIN admin a on c.admin_id= a.id where c.type=3 and c.status=2 and c.is_delete=10 order by c.create_time desc ;
OK,结果比较理想
那么Mysql查询语句中如何实现字段枚举,让查询结果更友好?
以上就是分析和实现过程。