全部產品
Search
文件中心

MaxCompute:FORMAT_TIME

更新時間:Nov 29, 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類型表示的時間值。BIGINT類型。可以通過TO_TIME函數構造。

    在MaxCompute 1.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:自訂文字格式設定,支援在固定文本中插入小時、分鐘、秒及毫秒等時間元素。

    -- 返回 時間是24:33毫秒部分為000。
    SELECT FORMAT_TIME(48273000000,"時間是%M:%S毫秒部分為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函數屬於時間函數,更多日期計算、日期轉換的相關函數請參見日期函數。