sql case when 中添加多个条件 您所在的位置:网站首页 sql语句where多个条件 sql case when 中添加多个条件

sql case when 中添加多个条件

2023-07-27 10:17| 来源: 网络整理| 查看: 265

概述

        想必大家已经在工作中很常用到case when 了,这也是必备的。SQL可以给我们带来很多的便利。

问题

简单示例

CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' EN

     

CASE 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 实验室设备网 版权所有