Expresión case
Se aplica a: Databricks SQL 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ásoptN
.resN
: cualquier expresión que tiene un tipo menos común con todos los demásresN
ydef
.def
: expresión opcional que tiene un tipo menos común con todos losresN
.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