关于MySQL高级查询–case when

发表于:2018-5-23 09:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Seven    来源:个人博客

  大家都知道Case when的用法,一旦满足了某一个WHEN ,则这一条数据就会退出CASE WHEN,而不再考虑其他CASE ,文章来详细的介绍了case when的用法并举例说明了。就我在项目开发中很多情况就会涉及这种分类型差不同数据的场景,这时case when 就派上大用场了,首先来看个例子:
  SELECT * FROM id
  WHERE (
  (SELECT CASE 1 WHEN type THEN 1 ELSE 0 END FROM t) 
  (SELECT CASE 2 WHEN type THEN 1 ELSE 0 END FROM t) 
  (SELECT CASE 3 WHEN type THEN 1 ELSE 0 END FROM t) 
  (SELECT CASE 4 WHEN type THEN 1 ELSE 0 END FROM t))>=2
  就这样简单的语句就可以实现根据类型不同就可以查出不同的数据,case 后面跟上你要的判断的字段,when 后面跟上满足条件,then 查询结果
  用CASE WHEN语句可以简化我们平时工作中遇到的很多问题。如性别在表中存的是数字1、2,但是希望查询出来男、女时,可以这样:
  select (case Gender when 1 then '男' when 2 then '女' else '其他' end) as Gender from Table1
  是不是很强大呢?



上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号