Megosztás a következőn keresztül:


case kifejezés

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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öbbivel optNexpr rendelkezik.
  • resN: Bármely kifejezés, amely a legkevésbé gyakori típussal rendelkezik az összes többi resN és def.
  • 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