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

MaxCompute:FROM_CHARSET

最終更新日:Jan 17, 2025

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

構文

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

Parameters

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

  • source_charset: 必須です。 STRING型の値。 このパラメーターは、sourceで指定されたバイナリデータの元のエンコード形式を指定します。 有効な値: UTF-8UTF-16UTF-16LEUTF-16BEISO-8859-1US-ASCIIGB2312GBKGB18030

  • 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');

    次の応答が返されます。

    +------------+
    | _c0        |
    +------------+
    | 加油锟斤拷
         |
    +------------+
  • 例2: GBKエンコードされたバイナリデータをUTF-8エンコードされた文字列に変換します。

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

    次の応答が返されます。

    +------------+
    | _c0        |
    +------------+
    | 哈哈好の       |
    +------------+
  • 例3: 入力パラメーターがnullの場合、nullが返されます。

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

    次の応答が返されます。

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

UNHEX関数は、16進数の文字列で表される文字列を返します。 詳細については、「UNHEX」をご参照ください。

関連ドキュメント