case
uttryck
Gäller för: Databricks SQL
Databricks Runtime
Returnerar resN
för den första optN
som är expr
lika med eller def
om ingen matchar.
Returnerar resN
för den första condN
utvärderingen till true eller def
om ingen hittades.
Syntax
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argument
expr
: Alla uttryck som jämförelse definieras för.optN
: Ett uttryck som har en minst vanlig typ medexpr
och alla andraoptN
.resN
: Alla uttryck som har en minst vanlig typ med alla andraresN
ochdef
.def
: Ett valfritt uttryck som har en minst vanlig typ med allaresN
.condN
: Ett BOOLESKT uttryck.
Returer
Resultattypen matchar den minst vanliga typen av resN
och def
.
Om def
utelämnas är standardvärdet NULL.
Villkor utvärderas i ordning och endast eller resN
def
som ger resultatet körs.
Exempel
> 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