sql case when 中添加多个条件 | 您所在的位置:网站首页 › sql语句where多个条件 › sql case when 中添加多个条件 |
概述
想必大家已经在工作中很常用到case when 了,这也是必备的。SQL可以给我们带来很多的便利。 问题简单示例 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' ENCASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' 业务需要面对一个问题,case when 时,不光sex = ‘2’ 还要判断name = hello 然后返回 ‘女’,该怎么处理呢,现实中我就面对了这么一个问题,因为引号的问题卡克了,然后问了老司机,他说case 怎么还可以能添加多个条件呢。 我一度要放弃,但是如果这个SQL不能实现,我的Java代码里面需要把结果List便利循环,更可能要每一遍都要查询一次数据库,这效率是非常低效的。 尝试一看要添加许多代码,我又进行了尝试,我认为SQL功能齐全,不应该这么简单的功能没有。 第一次尝试相信第一次的思路是如下的解法: CASE WHEN sex = '1' THEN '男' WHEN sex = '2' and name = "hello" THEN '女'然后报错,继续尝试第二次 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' && name = "hello" THEN '女'然后尝试第三次 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' and name = 'hello' THEN '女'这次尝试成功 答疑解惑1. 为什么要用 双引号呢? 我以为这个是常量需要双引号,根本原因是没有了解到数据库双引号和单引号的区别,新增又加深了,双引号 一般作为 as 之后的别名使用 ,像Pgsql,别名的helloWorld 如果不用 双引号,那么显示的是helloworld 2. 学习知识 解决了问题自己还是很开心,使代码更加优化,更加的满意。很多的时候我们要相信自己,多花一些时间进行尝试,会得到良好的结果,相信我们自己。 |
CopyRight 2018-2019 实验室设备网 版权所有 |