Expressão case
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna resN
para a primeira optN
, que é igual a expr
ou def
se não houver correspondência.
Retorna resN
para a primeira condN
que é avaliada como verdadeira, ou def
se nenhuma for encontrada.
Sintaxe
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argumentos
expr
: qualquer expressão para a qual a comparação é definida.optN
: uma expressão que tem um tipo menos comum comexpr
e todos os outrosoptN
.resN
: uma expressão com um tipo menos comum e todos os outrosresN
edef
.def
: uma expressão opcional com um tipo menos comum com todos osresN
.condN
: uma expressão BOOLIANA.
Retornos
O tipo de resultado corresponde ao tipo menos comum de resN
e def
.
Se def
for omitido, o padrão será NULL.
As condições são avaliadas na ordem e apenas o resN
ou def
que produz o resultado é executado.
Exemplos
> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
1.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
2.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;
NULL
> SELECT CASE 3 WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 THEN 'C' END;
C