全部產品
Search
文件中心

MaxCompute:TO_TIMESTAMP_NTZ

更新時間:Jan 01, 2026

TO_TIMESTAMP_NTZ函數用於將不同類型的日期時間資料,轉換為TIMESTAMP_NTZ類型的時間戳記。

將TIMESTAMP轉換為指定時區TIMESTAMP_NTZ

命令格式

TIMESTAMP_NTZ TO_TIMESTAMP_NTZ(TIMESTAMP <timestamp>, STRING <time_zone>)

參數說明

timestamp:必填。待轉換的時間戳記。TIMESTAMP類型。

time_zone:必填。用於指定時區。STRING類型。

傳回值說明

返回指定時區TIMESTAMP_NTZ類型時間戳記。返回規則如下:

  • timestamp非TIMESTAMP類型,或值為NULL時,返回報錯。

  • time_zone值為NULL時,返回NULL。

使用樣本

將TIMESTAMP時間戳記從Session/Project時區轉換為指定時區,並返回TIMESTAMP_NTZ類型時間戳記。

-- 設定Session/Project時區為Asia/Shanghai。
SET odps.sql.timezone=Asia/Shanghai;

-- 返回 2025-04-08 08:10:30.123456789
SELECT TO_TIMESTAMP_NTZ(TIMESTAMP '2025-04-08 16:10:30.123456789', "Etc/GMT");

-- 返回 2025-04-08 17:10:30.123456789
SELECT TO_TIMESTAMP_NTZ(TIMESTAMP '2025-04-08 16:10:30.123456789', "Asia/Tokyo");

-- 返回 2025-04-08 16:10:30.123456789
SELECT TO_TIMESTAMP_NTZ(TIMESTAMP '2025-04-08 16:10:30.123456789', "Asia/Shanghai");

-- 返回 NULL
SELECT TO_TIMESTAMP_NTZ(TIMESTAMP '2025-04-08 16:10:30.123456789', NULL);

將滿足format格式的STRING類型的日期時間資料,轉換成TIMESTAMP_NTZ

命令格式

TIMESTAMP_NTZ TO_TIMESTAMP_NTZ(STRING <date>, STRING <format> [,STRING <time_zone>])

參數說明

date:必填。滿足format格式的日期時間資料。STRING類型。

format:必填。日期時間格式。STRING類型。目前支援的日期和時間部分的格式元素如下:

日期部分格式元素

  • %Y/yyyy/YYYY:以十進位數表示的年份和世紀。

  • %y:以十進位數(00-99)表示的年份(不帶世紀),前置字元為零可選。

  • %m/mm/MM:以十進位數(01-12)表示的月份。

  • %B:完整月份名稱,例如January。

  • %b/%h:縮寫的月份名稱,例如Jan。

  • %d/dd/DD:以十進位數(01-31)表示的月份日期 。

  • %e:以十進位數字(1-31)表示的月份中的第幾天,例如2(其中“dd”將得到02)。

  • %F:相當於%Y-%m-%d(yyyy-mm-dd)。

時間部分格式元素

  • %H/hh/HH:以十進位數(00-23)表示的小時(24 小時制)。

  • %M/mi/MI:以十進位數(00-59)表示的分鐘。

  • %S/ss/SS:以十進位數(00-60)表示的秒。

  • %X:相當於HH:MM:SS格式的時間。

  • %T:相當於%H:%M:%Shh-mi-ss)。

  • ff3:以三位十進位數(000~999)表示的毫秒,代表秒的小數部分。例如用%S.ff3匹配00.123

  • %Ez:表示數字時區(+HH:MM-HH:MM)。

  • %E<number>S:秒,小數精度為<number>位,例如用%E3S匹配00.123

  • %E*S:有完整6位小數精度的秒,例如00.123456

time_zone:可選。用於指定輸入日期的時區。STRING類型。若未指定,則預設為UTC時區。

傳回值說明

返回TIMESTAMP_NTZ類型。將輸入STRING類型格式化後的時間戳記。返回規則如下:

  • dateformattime_zone值為NULL時,返回NULL。

  • 當輸入dateformat不匹配,或format參數不合法,返回NULL。

使用樣本

-- 設定Session/Project時區值,對輸入與輸出時間戳記無影響。
SET odps.sql.timezone=Asia/Shanghai;

-- 返回 2017-11-11 00:00:00.123
SELECT TO_TIMESTAMP_NTZ('17-11-11 00:00:00.123','%y-mm-dd hh:mi:ss.ff3');

-- 返回 2017-11-11 00:00:00.123
SELECT TO_TIMESTAMP_NTZ('0017-11-11 00:00:00.123','%y-mm-dd hh:mi:ss.ff3');

-- 返回 1970-11-11 00:00:00.123  --缺少日期元素年,自動補充1970
SELECT TO_TIMESTAMP_NTZ('11-11 00:00:00.123','mm-dd hh:mi:ss.ff3');

-- 返回 2025-05-18 15:30:00
SELECT TO_TIMESTAMP_NTZ('2025-05-18 15:30:00 MAY','%F %X %B');

-- 返回 2025-05-18 15:30:00
SELECT TO_TIMESTAMP_NTZ('2025-05-18 15:30:00 may','%F %X %h');

-- 返回 2025-05-18 15:30:00
SELECT TO_TIMESTAMP_NTZ('2025-05-18 15:30:00 may','%F %T %b');

-- 返回 2025-05-18 10:20:00
SELECT TO_TIMESTAMP_NTZ('20250518 10:20:00','yyyymm%e %T');

-- 返回 2025-05-18 02:30:00
SELECT TO_TIMESTAMP_NTZ('2025-05-18 09:30:00+07:00','%F %H:%M:%S%Ez');

-- 返回 2025-04-08 16:10:30.123456
SELECT TO_TIMESTAMP_NTZ("2025-04-08 16:10:30.123456",'%Y-%m-%d %H:%M:%E*S','Etc/GMT') ;

-- 返回 2025-04-08 08:10:30.123
SELECT TO_TIMESTAMP_NTZ("2025-04-08 16:10:30.123",'%Y-%m-%d %H:%M:%E3S','Asia/Shanghai');

將BIGINT類型表示的時間值轉換成TIMESTAMP_NTZ

命令格式

TIMESTAMP_NTZ TO_TIMESTAMP_NTZ(BIGINT <time>, STRING <date_part>)

參數說明

time:必填。待轉換的時間值。BIGINT類型。

date_part:必填。時間單位。STRING類型。目前支援的取值有:毫秒MILLIS、微秒MICROS和納秒NANOS

傳回值說明

返回TIMESTAMP_NTZ類型UTC時間戳記。返回規則如下:

  • time值為NULL時,返回報錯。

  • date_part值為NULL時,返回NULL。

使用樣本

輸入參數是以BIGINT類型表示的毫秒(MILLIS)、微秒(MICROS)或納秒(NANOS)時間值,系統會以 1970-01-01 00:00:00 UTC 為起點加上時間值,並返回TIMESTAMP_NTZ類型時間戳記。

-- 設定Session/Project時區值,對輸入與輸出時間戳記無影響
SET odps.sql.timezone=Asia/Shanghai;

-- 返回 1973-03-03 09:35:41.234
SELECT TO_TIMESTAMP_NTZ(99999341234, 'MILLIS');

-- 返回 1970-01-02 03:46:39.341234
SELECT TO_TIMESTAMP_NTZ(99999341234, 'MICROS');

-- 返回 1970-01-01 00:01:39.999341234
SELECT TO_TIMESTAMP_NTZ(99999341234, 'NANOS');

-- 返回 1966-10-31 14:24:18.766
SELECT TO_TIMESTAMP_NTZ(-99999341234, 'MILLIS');

-- 返回 NULL
SELECT TO_TIMESTAMP_NTZ(99999341234, NULL);

相關函數

TO_TIMESTAMP_NTZ函數屬於日期函數,更多日期計算、日期轉換的相關函數請參見日期函數