decode(jeu de caractères) fonction

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Traduit le expr binaire en chaîne à l’aide du codage du jeu de caractères charSet.

Syntaxe

decode(expr, charSet)

Arguments

  • expr  une expression BINARY encodée en charset.
  • charSet : expression STRING.

Retours

STRING.

Si charSet n’est pas un encodage pris en charge, Azure Databricks déclenche INVALID_PARAMETER_VALUE. CHARSET.

Si expr contient des octets non valides dans charSet, Azure Databricks déclenche MALFORMED_CHARACTER_CODING.

Les encodages de jeu de caractères suivants sont pris en charge (sans respect de la casse) :

  • 'US-ASCII' : ASCII sept bits, ISO646-US.
  • 'ISO-8859-1' : alphabet latin ISO n° 1, ISO-LATIN-1.
  • 'UTF-8' : format de transformation UCS à huit bits.
  • 'UTF-16BE' : format de transformation UCS à seize bits, ordre d’octet gros-boutiste.
  • 'UTF-16LE' : format de transformation UCS à seize bits, ordre d’octet petit-boutiste.
  • 'UTF-16' : format de transformation UCS à seize bits, ordre d’octet identifié par une marque d’ordre d’octet facultative.

Conditions d’erreur courantes

Exemples

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