Expression case

S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime

Retourne resN pour le premier optN qui est égal à expr ou def si aucune correspondance n’est trouvée.

Retourne resN pour le premier condN qui prend la valeur true, ou def si aucun n’est trouvé.

Syntaxe

CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END

Arguments

  • expr : toute expression pour laquelle une comparaison est définie.
  • optN : expression qui partage un type moins commun avec expr et l’ensemble des autres optN.
  • resN : toute expression qui partage un type moins commun avec l’ensemble des autres resN et def.
  • def : expression facultative qui partage un type moins commun avec l’ensemble des resN.
  • condN : expression BOOLÉENNE.

Retours

Le type du résultat correspond au type le moins commun de resN et def.

En cas d'omission de def, la valeur par défaut est NULL. Les conditions sont évaluées dans l'ordre, et seule la resN ou la def qui donne le résultat est exécutée.

Exemples

> 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