首页
学习
活动
专区
圈层
工具
发布

SQL中的CASE WHEN使用

SQL中的CASE WHEN使用 Case具有两种格式。简单Case函数和Case搜索函数。...简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。...‘第二类’ ELSE’其他’ END 下面我们来看一下,使用Case函数都能做些什么事情。...三,在Check中使用Case函数。 在Check中使用Case函数在很多情况下都是非常不错的解决方法。...可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Check。 下面我们来举个例子 公司A,这个公司有个规定,女职员的工资必须高于1000块。

3.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java case when用法_sql case when 嵌套

    大家好,又见面了,我是你们的朋友全栈君。 前几天在客户环境遇到一个Spark “CASE WHEN”语句的性能优化问题。 客户那边通过一个“时间范围筛选”控件来动态修改图表的数据。...CASE WHEN语句有些类似于编程语言中的Switch语句,当这里的 WHEN从句只有一个的时候,可以简化为IF语句(或者 IF-ELSE 语句)。...于是想:对于Spark(客户用的是2.4.x版本), Spark会不会把这种只有一个WHEN分支的 CASE WHEN 语句优化为IF语句呢?...于是试了一下性能,发现如果修改上面的SQL为: IF(`bizdate` BETWEEN ‘2020-09-06’ AND ‘2020-09-13’, `sales_amount`, 0 ) 那么执行速度将减少为原来的一半...那是不是我的机会来了。 首先、这个应该是一个比较简单的优化,比如我是否可以通过增加一个Spark的优化器规则,来自动把一个分支的CASE WHEN转为IF,看着好像不难。

    3.6K30

    SQL CASE 表达式

    因为本身表达式就支持聚合函数,比如下面的语法,我们不会觉得奇怪: SELECT sum(pv), avg(uv) from test 本身 SQL 就支持多种不同的聚合方式同时计算,所以将其用在 CASE...'no' END AS abc FROM test 原因是,只要 SQL 中存在聚合表达式,那么整条 SQL 就都是聚合的,所以返回的结果只有一条,而我们期望查询结果不聚合,只是判断条件用到了聚合结果...总结 CASE 表达式总结一下有如下特点: 支持简单与搜索两种写法,推荐搜索写法。 支持聚合与子查询,需要注意不同情况的特点。...可以写在 SQL 查询的几乎任何地方,只要是可以写字段的地方,基本上就可以替换为 CASE 表达式。...除了 SELECT 外,CASE 表达式还广泛应用在 INSERT 与 UPDATE,其中 UPDATE 的妙用是不用将 SQL 拆分为多条,所以不用担心数据变更后对判断条件的二次影响。

    1.1K30

    如何用ORM支持SQL语句的CASE WHEN?

    他给的示例SQL如下: select HName,case when IsEnable=1 then '启用' else '停用' from tb_User OQL是SOD框架的ORM查询语言,它类似Linq...这个问题已经不止这一个朋友来问我了,我想了下,还是把这个问题的解决写一篇博客,给大家一种新的解决方案。 注意“新的方案”这个提法,我是不打算让OQL支持CASE WHEN这个特性的,为何要这样做呢?...OQL只解决 80%的普通查询,其它复杂的查询,应该依托于其它技术,否则会增加OQL的复杂性; 复杂的查询,可以借助于SOD框架的SQL-MAP技术,将SQL语句写在SqlMap.config文件中;...大家看看,这个“计算属性”是不是很好的起到了 SQL的CASE WHEN效果? 只要忘记了数据库,不要遇到问题就去想如何用SQL语句解决,是不是思路豁然开朗?...WHEN效果 如果再仔细看看开篇的这个SQL语句,我们发现这种写法常常跟我们的界面查询有关,也就是这个查询要将原来的结果进行一下加工,以方便界面元素使用。

    2.7K80

    SQL之CASE WHEN用法详解

    NUMBER 简单CASE WHEN函数只能应对一些简单的业务场景,而CASE WHEN条件表达式的写法则更加灵活。...CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句。 格式: CASE WHEN condition THEN result [WHEN...THEN...]...,WHEN score = null THEN ‘缺席考试’,这是一种错误的写法,正确的写法应为: CASE WHEN score IS NULL THEN '缺席考试' ELSE '正常' END...场景2:现老师要统计班中,有多少男同学,多少女同学,并统计男同学中有几人及格,女同学中有几人及格,要求用一个SQL输出结果。...MALE_COUNT FEMALE_COUNT MALE_PASS FEMALE_PASS 3 3 1 3 场景3:经典行转列,并配合聚合函数做统计 现要求统计各个城市,总共使用了多少水耗、电耗、热耗,使用一条SQL

    97920

    神奇的 SQL 之 CASE表达式,妙用多多 !

    CASE表达式是从 SQL-92 标准开始被引入的,可能因为它是相对较新的技术,所以尽管使用起来非常便利,但其真正的价值却并不怎么为人所知。...然而,CASE表达式也许是 SQL-92 标准里加入的最有用的特性,如果能用好它,那么 SQL 能解决的问题就会更广泛,写法也会更加漂亮,而且,因为 CASE表达式 是不依赖于具体数据库的技术,所以可以提高...SQL 代码的可移植性。   ...调整之后的薪资如下所示       乍一看,分别执行下面两个 UPDATE 操作好像就可以做到,但是我们执行下看看结果 -- 条件1 UPDATE t_user_salaries SET salary...总结   1、CASE表达式 是支撑 SQL 声明式编程的根基之一,也是灵活运用 SQL 时不可或缺的基础技能。

    1K30

    SQL | CASE WHEN 实战 -- 转置财报

    流程分析 Step1:思路探索 需求的实现不一定都是一蹴而就的,先简单模拟一下低端版本的效果可以为最终实现打开思路。...) Step2:引入 CASE WHEN SQL 中每一种函数的妙用都有很多,这里根据业务需求,有一说一,只分享 CASE WHEN 的冰山一角。...SQL 的 CASE WHEN 与编程语言中的 if-else 结构非常相似,而该函数又分为 ‘ 简单 CASE ’ 与 ‘ 搜索 CASE ’ 两种,‘ 搜索 CASE‘ 功能更强大(其实也已经包括了简单...CASE WHEN month_ = 1 THEN SUM(amount) END AS Jan -- 仅对一月份进行尝试 一下子就将整一年的销量都显示在了一月份。...(考察业务背景和知识面) 后记 SQL 中 CASE WHEN 的作用远不止于此,还有非常多的骚操作,熟练掌握可大大提高 SQL 取数的工作效率,加油

    1.4K10

    SQL面试必刷题(1) Case When

    SQL语言是每个开发人员必备的一种技能,本文对面试过程中常见的SQL面试题进行分类、汇总,每类题型包括一些例题,希望大家能够举一反三。 01 Case When 是什么?...case when sex = '1' then '男' when sex = '2' then '女' else '未知' end 注意: (1) 在CASE函数中,else部分的默认值是NULL...(2) CASE函数只返回第一个符合条件的值,剩下的CASE部分被自动忽略。 02 面试题 1....有一个表table1(A,B,C),用SQL语句选出两个列,第一列是A、B两列的较大者,第二列是B、C两列的较小者。...有一张表table2(语文成绩、数学成绩、英语成绩),请用一条sql语句按以下显示条件得出结果: 显示条件:大于或等于80显示为优秀,大于或等于60表示及格,小于60分表示不及格。

    1.9K40
    领券