文档

FROM_CHARSET

更新时间:

MaxCompute FROM_CHARSET支持将指定编码格式的二进制数据转换为UTF-8格式的字符串,以便后续进行计算时使用。本文为您介绍FROM_CHARSET函数的命令格式、参数说明以及使用示例。

命令格式

STRING FROM_CHARSET(binary <source>, string <source_charset>, [string <mode>])

参数说明

  • source:必填,BINARY类型,待转换的二进制(Bytes)数据。

  • source_charset:必填,STRING类型,source参数原本的二进制数据编码格式。取值范围为:UTF-8UTF-16UTF-16LEUTF-16BEISO-8859-1US-ASCIIGB2312GBKGB18030

  • mode:可选,STRING类型,将source的二进制(Bytes)数据转换成指定编码格式字符串时,若遇到无法对应的字符时,采取的处理模式。取值说明如下:

    • NONE(默认值):不做任何处理,提示报错。

    • TRANSLIT:使用指定编码格式中类似的字符替换。

    • IGNORE:忽略报错的内容,然后继续完成命令。

返回值

返回UTF-8编码格式的STRING类型数据。当参数为NULL或空字符串时,返回规则如下:

  • 任意一个输入参数为NULL时,返回结果为NULL。

  • 任意一个输入参数为空字符串时,返回报错。

使用示例

  • 示例1:将UTF-8编码的二进制数据转换为UTF-8字符串。

    SELECT FROM_CHARSET(unhex('e58aa0e6b2b9e9949fe696a4e68bb70a'),'UTF-8', 'TRANSLIT');

    返回结果如下

    +------------+
    | _c0        |
    +------------+
    | 加油锟斤拷
         |
    +------------+
  • 示例2:将GBK编码的二进制数据转换为UTF-8字符串。

    SELECT FROM_CHARSET(unhex('b9feb9febac3a4ce'), 'GBK');

    返回结果如下。

    +------------+
    | _c0        |
    +------------+
    | 哈哈好の       |
    +------------+
  • 示例3:当输入参数为NULL时,返回结果为NULL。

    SELECT FROM_CHARSET(unhex('b9feb9febac3a4ce'), null);

    返回结果如下。

    +------------+
    | _c0        |
    +------------+
    | NULL       |
    +------------+
说明

UNHEX函数可以返回十六进制字符串所代表的字符串,详情请参见UNHEX

相关文档

  • 本页导读 (1)
文档反馈