decode (zestaw znaków) – funkcja

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Tłumaczy binarny expr na łańcuch znaków przy użyciu kodowania zbioru znaków charSet.

Składnia

decode(expr, charSet)

Argumenty

  • expr BINARY: wyrażenie zakodowane w pliku charset.
  • charSet: STRING wyrażenie.

Zwraca

Element STRING.

Jeśli charSet nie jest obsługiwanym kodowaniem, Azure Databricks zgłasza INVALID_PARAMETER_VALUE. CHARSET.

Jeśli expr zawiera bajty, które nie są prawidłowe w charSet, Azure Databricks zgłasza MALFORMED_CHARACTER_CODING.

Obsługiwane są następujące kodowania zestawu znaków (bez uwzględniania wielkości liter):

  • 'US-ASCII': Siedem-bitowe ASCII, ISO646-US.
  • 'ISO-8859-1': alfabet łaciński ISO nr 1, ISO-LATIN-1.
  • 'UTF-8': Ośmiobitowy format transformacji UCS.
  • 'UTF-16BE': Szesnastobitowy format transformacji UCS, porządek bajtów big-endian.
  • 'UTF-16LE': Szesnaście-bitowy format przekształcenia UCS, mała kolejność bajtów.
  • 'UTF-16': Szesnaście-bitowy format przekształcenia UCS, kolejność bajtów zidentyfikowana przez opcjonalny znacznik kolejności bajtów.

Typowe warunki błędów

Przykłady

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