我是否需要在case表达式中使用else子句?

时间:2014-09-19 14:36:26

标签: sql select hive case

是否需要在ELSE表达式中包含CASE子句?

例如,如果我想拉动猫的动物名称而不是ELSE,我可以使用这个SELECT声明:

SELECT DISTINCT(CASE WHEN animal_type = 'cat' THEN animal_name END) AS cat_names

我知道我可以将animal_type = 'cat'放入我的WHERE条款然后

SELECT DISTINCT cat_names, 

但我想知道答案。

1 个答案:

答案 0 :(得分:14)

您没有需要 else条款。如果未指定,case将返回null。换句话说,它就好像它有一个else null子句。