Compartilhar via


Expressão case

Aplica-se a: marca de seleção positiva SQL do Databricks verificação marcada como sim 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 com expr e todos os outros optN.
  • resN: uma expressão com um tipo menos comum e todos os outros resN e def.
  • def: uma expressão opcional com um tipo menos comum com todos os resN.
  • 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