Partilhar via


case expressão

Aplica-se a: Marque Sim Databricks SQL Marque Sim 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 com expr e todos os outros optN .
  • resN: Qualquer expressão que tenha um tipo menos comum com todas as outras resN e def.
  • def: Uma expressão opcional que tem um tipo menos comum com todos os resN.
  • 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