Expression case
S’applique à : Databricks SQL 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 avecexpr
et l’ensemble des autresoptN
.resN
: toute expression qui partage un type moins commun avec l’ensemble des autresresN
etdef
.def
: expression facultative qui partage un type moins commun avec l’ensemble desresN
.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