Partilhar via


decode função chave

Aplica-se a:assinalado sim Databricks SQL assinalado sim Databricks Runtime

Retorna o valor correspondente à chave. decode compara expr com cada um keyN por ordem e devolve o correspondente valueN para a primeira correspondência (como uma pesquisa ou troca de chave-valor). Se nenhuma chave coincidir, ela retorna defValue quando fornecida, caso contrário NULL.

Sintaxe

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

Argumentos

  • expr: Qualquer expressão de tipo comparável.
  • keyN: Uma expressão que corresponde ao tipo de expr.
  • valueN: Uma expressão que partilha um tipo menos comum com defValue e os outros valueNs.
  • : Uma expressão opcional que partilha um tipo menos comum com .

Devoluções

O resultado é do tipo menos comum do valueN e defValue.

A função retorna o primeiro valueN para o qual keyN corresponde a expr. Para esta função NULL corresponde a NULL. Se nenhum keyN corresponder a expr, defValue é devolvido se existir. Se não defValue foi especificado, o resultado é NULL.

Exemplos

-- 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