首页 > 解决方案 > CASE WHEN THEN 如何处理 NULL 值

问题描述

假设我在 Spark 上执行的 SELECT 子句中有以下代码:

...
MEAN(CASE
         WHEN (col1 = 'A'
               AND (col3 = 'A' OR col4 = 'B')) THEN col2
     END) AS testing,
...

col2当is时,这个查询的输出是NULL什么?包含的行是否col2=NULLMEAN函数忽略?

标签: sqlapache-spark

解决方案


结果将是NULL。它的类型为col2-- 这在某些数据库中可能很重要(或者如果您将结果保存到表中)。

功能是什么MEAN()?要计算平均值,请使用AVG()。这是在 SQL 中计算平均值的标准函数。


推荐阅读