Compartilhar via


função decode (conjunto de caracteres)

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

Move o expr binário para uma cadeia de caracteres usando a codificação do conjunto de caracteres charSet.

Sintaxe

decode(expr, charSet)

Argumentos

  • expr: uma expressão BINARY codificada em charset.
  • charSet: uma expressão STRING.

Retornos

Um STRING.

Se charSet não for uma codificação com suporte, Azure Databricks gerará INVALID_PARAMETER_VALUE. CHARSET.

Se expr contiver bytes que não são válidos em charSet, Azure Databricks gerará MALFORMED_CHARACTER_CODING.

Há suporte para as seguintes codificações de conjunto de caracteres (sem diferenciação de maiúsculas e minúsculas):

  • 'US-ASCII': ASCII de sete bits, ISO646-US.
  • 'ISO-8859-1': ISO Alfabeto Latino nº 1, ISO-LATIN-1.
  • 'UTF-8': formato de transformação UCS de oito bits.
  • 'UTF-16BE': formato de transformação UCS de dezesseis bits, ordem de byte big endian.
  • 'UTF-16LE': formato de transformação UCS de dezesseis bits, ordem de byte little endian.
  • 'UTF-16': formato de transformação UCS de dezesseis bits, ordem de byte identificada por uma marca de ordem de byte opcional.

Condições de erro comuns

Exemplos

-- Wrap encode in hex to normalize UI dependent BINARY output.
> SELECT hex(encode('Spark SQL', 'UTF-16'));
 FEFF0053007000610072006B002000530051004C

> SELECT hex(encode('Spark SQL', 'US-ASCII'));
537061726B2053514C

> SELECT decode(X'FEFF0053007000610072006B002000530051004C', 'UTF-16')
 Spark SQL

-- 0xFF is not valid US-ASCII.
> SELECT decode(x'FF', 'US-ASCII');
  Error: MALFORMED_CHARACTER_CODING