decode (character set) 函数

适用于:Databricks SQL check marked yes Databricks Runtime

使用字符集编码 charSet 将二进制 expr 转换为字符串。

语法

decode(expr, charSet)

参数

  • expr:以 charset 编码的 BINARY 表达式。
  • charSet:一个 STRING 表达式。

返回

一个 STRING

如果 charSet 与编码不相符,则结果不确定。

支持以下字符集编码(不区分大小写):

  • 'US-ASCII':七位 ASCII、ISO646-US。
  • 'ISO-8859-1':ISO 拉丁字母第 1 号,ISO-LATIN-1。
  • 'UTF-8':八位 UCS 转换格式。
  • 'UTF-16BE':16 位 UCS 转换格式,big-endian 字节顺序。
  • 'UTF-16LE':16 位 UCS 转换格式、little-endian 字节顺序。
  • '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