decode 함수(문자 집합)

적용 대상:체크표시됨 Databricks SQL 체크표시됨 Databricks Runtime

이진 expr을(를) 문자 집합 인코딩 charSet을 사용하여 문자열로 변환합니다.

구문

decode(expr, charSet)

논쟁

  • expr: BINARY로 인코딩된 식이 charset에 있습니다.
  • charSet: STRING 식입니다.

반품

STRING.

charSet 지원되는 인코딩이 아니면 Azure Databricks INVALID_PARAMETER_VALUE 발생합니다. CHARSET.

expr charSet 유효하지 않은 바이트가 포함되어 있으면 Azure Databricks MALFORMED_CHARACTER_CODING 발생합니다.

지원되는 문자 집합 인코딩은 다음과 같습니다(대/소문자를 구분하지 않음).

  • 'US-ASCII': 7비트 ASCII, ISO646-US.
  • 'ISO-8859-1': ISO Latin Alphabet No. 1, ISO-LATIN-1.
  • 'UTF-8': 8비트 UCS 변환 형식입니다.
  • 'UTF-16BE': 16비트 UCS 변환 형식, 빅엔디언 바이트 순서입니다.
  • 'UTF-16LE': 16비트 UCS 변환 형식, 리틀엔디언 바이트 순서입니다.
  • 'UTF-16': 16비트 UCS 변환 형식, 선택적 바이트 순서 표시로 식별되는 바이트 순서입니다.

일반적인 오류 조건

예제

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