大家都知道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),我们将立即处理。