すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:FROM_CHARSET

最終更新日:Jun 26, 2026

後続の計算で使用するために、指定されたエンコーディング形式のバイナリデータを UTF-8 エンコード文字列に変換します。このトピックでは、FROM_CHARSET 関数の構文とパラメーターについて説明し、この関数の使用例を示します。

構文

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

パラメーター

  • source:必須。BINARY 型の値。このパラメーターは、変換するバイナリデータを指定します。

  • source_charset:必須。STRING 型の値。このパラメーターは、source で指定されたバイナリデータの元のエンコーディング形式を指定します。有効な値:UTF-8、UTF-16、UTF-16LE、UTF-16BE、ISO-8859-1、US-ASCII、GB2312、GBK、GB18030。

  • mode:オプション。STRING 型の値。このパラメーターは、FROM_CHARSET 関数が source で指定されたバイナリデータを指定のエンコーディング形式の文字列に変換する際、変換できない文字があった場合の処理モードを指定します。有効な値は次のとおりです。

    • NONE:エラーを報告します。処理は実行されません。これはデフォルト値です。

    • TRANSLIT:指定されたエンコーディング形式で、文字を類似の文字に置き換えます。

    • IGNORE:エラーを無視し、コマンドの実行を続行します。

戻り値

UTF-8 エンコーディング形式の STRING 型の値が返されます。入力パラメーターが NULL または空の文字列の場合、戻り値は次のルールに従います。

  • 入力パラメーターが NULL の場合、NULL が返されます。

  • 入力パラメーターが空の文字列の場合、エラーが返されます。

例

  • 例 1:UTF-8 エンコードされたバイナリデータを UTF-8 エンコード文字列に変換します。

    SELECT FROM_CHARSET(unhex('e58aa0e6b2b9e9949fe696a4e68bb70a'),'UTF-8', 'TRANSLIT');
  • 例 2:GBK エンコードされたバイナリデータを UTF-8 エンコード文字列に変換します。

    SELECT FROM_CHARSET(unhex('b9feb9febac3a4ce'), 'GBK');
  • 例 3:入力パラメーターが NULL の場合、NULL が返されます。

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

    次の結果が返されます:

    +------------+
    | _c0        |
    +------------+
    | NULL       |
    +------------+
説明

UNHEX 関数は、16 進数文字列が表す文字列 (バイナリデータ) を返します。詳細については、「UNHEX」をご参照ください。

関連ドキュメント