Compartilhar via


Função decode (chave)

Aplica-se a:marca de seleção positiva SQL do Databricks verificação marcada como sim Runtime do Databricks

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

Sintaxe

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

Argumentos

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

Retornos

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

A função retorna a primeira valueN para a qual keyN corresponde a expr. Para essa função, NULL corresponde a NULL. Se nenhuma keyN corresponder a expr, defValue será retornada, se existir. Se nenhum defValue tiver sido 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