全部產品
Search
文件中心

MaxCompute:FROM_CHARSET

更新時間:May 28, 2026

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-8、UTF-16、UTF-16LE、UTF-16BE、ISO-8859-1、US-ASCII、GB2312、GBK和GB18030。

  • mode:可選,STRING類型,將source的二進位(Bytes)資料轉換成指定編碼格式字串時,若遇到無法對應的字元時,採取的處理模式。取值說明如下:

    • NONE(預設值):不做任何處理,提示報錯。

    • TRANSLIT:使用指定編碼格式中類似的字元替換。

    • IGNORE:忽略報錯的內容,然後繼續完成命令。

傳回值

返回UTF-8編碼格式的STRING類型資料。當參數為NULL或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。

相關文檔