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

java case when用法_sql case when 嵌套

前几天在客户环境遇到一个Spark “CASE WHEN”语句的性能优化问题。 客户那边通过一个“时间范围筛选”控件来动态修改图表的数据。...其很多指标的计算逻辑类似于: CASE WHEN `bizdate` BETWEEN ‘2020-09-06’ AND ‘2020-09-13’ THEN `sales_amount` ELSE 0 END...CASE WHEN语句有些类似于编程语言中的Switch语句,当这里的 WHEN从句只有一个的时候,可以简化为IF语句(或者 IF-ELSE 语句)。...于是想:对于Spark(客户用的是2.4.x版本), Spark会不会把这种只有一个WHEN分支的 CASE WHEN 语句优化为IF语句呢?...首先、这个应该是一个比较简单的优化,比如我是否可以通过增加一个Spark的优化器规则,来自动把一个分支的CASE WHEN转为IF,看着好像不难。

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

    when和while的区别和用法_when后面加do还是doing

    when和while的区别主要有:指代不同、从句动词不同、时间状态不同、用法不同等。...1、指代不同:when是at or during the time that既指时间点,也可指一段时间,while是during the time that只指一段时间。...2、从句动词不同:when引导的时间状语从句中的动词可以是终止性动词,也可以是延续性动词,而while从句中的动词必须是延续性动词。...3、时间状态不同:when说明从句的动作和主句的动作可以是同时,也可以是先后发生,while则强调主句的动作在从句动作发生的过程中或主从句两个动作同时发生。...4、用法不同:when和while还可作并列连词。when表示“在那时”。

    1.2K40
    领券