case
expressão
Aplica-se a: Databricks SQL Databricks Runtime
Devolve resN
para o primeiro optN
que é expr
igual ou def
se nenhum corresponder.
Retorna resN
para a primeira condN
avaliação como verdadeira, ou def
se nenhuma foi 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
: Qualquer expressão que tenha um tipo menos comum com todas as outrasresN
edef
.def
: Uma expressão opcional que tem um tipo menos comum com todos osresN
.condN
: Uma expressão booleana.
Devoluções
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 em ordem e apenas o resN
ou def
o 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