case
kifejezés
A következőkre vonatkozik: Databricks SQL Databricks Runtime
resN
Az első optN
egyenlőségjelet adja vissza, expr
vagy def
ha egyik sem egyezik.
resN
Az első condN
kiértékeléshez igaz értéket ad vissza, vagy def
ha egyik sem található.
Syntax
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argumentumok
expr
: Bármely kifejezés, amelyhez összehasonlítás van definiálva.optN
: Olyan kifejezés, amely a legkevésbé gyakori típussal és az összes többiveloptN
expr
rendelkezik.resN
: Bármely kifejezés, amely a legkevésbé gyakori típussal rendelkezik az összes többiresN
ésdef
.def
: Nem kötelező kifejezés, amely a legkevésbé gyakori típussal rendelkezik.resN
condN
: LOGIKAI KIFEJEZÉS.
Válaszok
Az eredmény típusa megegyezik a legkevésbé gyakori típussal resN
és def
.
Ha def
nincs megadva, az alapértelmezett érték NULL.
A feltételek kiértékelése sorrendben történik, és csak az resN
eredményt eredményező vagy def
azt eredményező feltételeket hajtja végre a rendszer.
Példák
> 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