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

MaxCompute:FORMAT_TIME

最終更新日:Nov 30, 2025

FORMAT_TIME 関数は、マイクロ秒単位で表される BIGINT 型の時刻値 time を、指定された format に従って STRING 型にフォーマットします。

構文

STRING FORMAT_TIME(BIGINT <time>, STRING <format>)

-- 標準的な例
-- 13:24:33.000 を返します。
SELECT FORMAT_TIME(48273000000, '%H:%M:%S.ff3');

パラメーター

  • time:必須。マイクロ秒単位の時刻を表す BIGINT 型の値です。この値は TO_TIME 関数を使用して作成できます。

    MaxCompute V1.0 データ型バージョンでは、このパラメーターが STRING 型または DOUBLE 型の場合、計算が実行される前に暗黙的に BIGINT 型に変換されます。

  • format:必須。出力される時刻文字列のフォーマットを指定する STRING 型の値です。format パラメーターは、次の時刻フォーマット要素をサポートしています:

    • hh、HH、または %H: 時間。

    • mi、MI、または %M: 分。

    • ss、SS、または %S: 秒。

    • ff3: ミリ秒。この要素は秒の小数部を表します。たとえば、%S.ff3 を使用して 00.123 と一致させることができます。

    • %E<number>S: 精度が <number> 桁の秒。たとえば、%E3S は 00.123 と一致します。

    • %E*S: 小数点以下 6 桁の完全な精度の秒。たとえば、00.123456 です。

戻り値

フォーマットされた時刻を表す STRING 型の値を返します。time または format パラメーターが `NULL` の場合、この関数は `NULL` を返します。

例

  • 例 1:標準フォーマットで時刻値を出力します。

    -- 13:24:33.000 を返します。
    SELECT FORMAT_TIME(48273000000, '%H:%M:%S.ff3');
  • 例 2:カスタムテキストフォーマットを使用して、時、分、秒、ミリ秒などの時刻要素をテキスト文字列に挿入します。

    -- The time is 24:33 and the millisecond part is 000 を返します。
    SELECT FORMAT_TIME(48273000000,"The time is %M:%S and the millisecond part is ff3");
    
    -- only show 13:24 を返します。
    SELECT FORMAT_TIME(48273000000,"only show hh:mi");
  • 例 3:TO_TIME 関数を使用して時刻値を構築し、その出力をフォーマットします。

    -- 15:03:01 を返します。
    SELECT FORMAT_TIME(TO_TIME('15:03:01', 'hh:mi:ss'), '%H:%M:ss');
  • 例 4:NULL 入力を処理します。

    -- いずれかのパラメーターが NULL の場合、関数は NULL を返します。
    -- NULL を返します。
    SELECT FORMAT_TIME(NULL, '%H:%M:%S.ff3');
    
    -- NULL を返します。
    SELECT FORMAT_TIME(48273000000, NULL);

関連関数

FORMAT_TIME は時刻関数です。日付の計算と変換に関する関数の詳細については、「日付関数」をご参照ください。