Compartir vía


Expresión case

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve resN para el primer optN que es igual a expr, o def si ninguno coincide.

Devuelve resN para el primer condN con evaluación en true o def si no se encuentra ninguno.

Sintaxis

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

Argumentos

  • expr: cualquier expresión para la que se define la comparación.
  • optN: una expresión que tiene un tipo menos comúnexpr con y todos los demás optN.
  • resN: cualquier expresión que tiene un tipo menos común con todos los demás resN y def.
  • def: expresión opcional que tiene un tipo menos común con todos los resN.
  • condN: expresión booleana.

Devoluciones

El tipo de resultado coincide con el tipo menos común de resN y def.

Si def se omite, el valor predeterminado es NULL. Las condiciones se evalúan en orden y solo se ejecuta la resN o def que produce el resultado.

Ejemplos

> 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