Compartir vía


decode función clave

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

Devuelve el valor que coincide con la clave. decode se expr compara con cada keyN uno en orden y devuelve el correspondiente valueN a la primera coincidencia (como una búsqueda de clave-valor o un modificador). Si no coincide ninguna clave, devuelve defValue cuando se proporciona; de lo contrario NULL, .

Sintaxis

decode(expr, { key1, value1 } [, ...] [, defValue])

Argumentos

  • expr: cualquier expresión de un tipo comparable.
  • keyN: una expresión que coincidía con el tipo de expr.
  • valueN: una expresión que comparte un tipo menos común con defValue y las demás expresiones valueN.
  • defValue: una expresión opcional que comparte un tipo menos común con valueN.

Devoluciones

El resultado es del tipo menos común de valueN y defValue.

La función devuelve la primera expresión valueN para la que keyN coincide con expr. Para esta función NULL coincide con NULL. Si ninguna expresión keyN coincide con expr, se devolverá defValue si existe. Si no se especificó ningún defValue, el resultado es NULL.

Ejemplos

-- Compare expr (5) to keys in order: 6? No. 5? Yes. Return the value for 5, which is 'SQL'.
> SELECT decode(5, 6, 'Spark', 5, 'SQL', 4, 'rocks');
 SQL

-- NULL matches NULL in decode. expr is NULL; the second key is NULL, so that pair matches. Return 'SQL'.
> SELECT decode(NULL, 6, 'Spark', NULL, 'SQL', 4, 'rocks');
 SQL

-- No key matches 7 (not 6, not 5). No fourth key-value pair, so defValue 'rocks' is returned.
> SELECT decode(7, 6, 'Spark', 5, 'SQL', 'rocks');
 rocks