All Products
Search
Document Center

MaxCompute:TO_TIMESTAMP_NTZ

Last Updated:Jan 01, 2026

Fungsi TO_TIMESTAMP_NTZ mengonversi data tanggal dan waktu dari berbagai tipe menjadi timestamp TIMESTAMP_NTZ.

Mengonversi TIMESTAMP ke TIMESTAMP_NTZ dalam zona waktu tertentu

Format perintah

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

Deskripsi parameter

timestamp: Wajib. Nilai TIMESTAMP yang akan dikonversi.

time_zone: Wajib. Zona waktu yang digunakan. Parameter ini harus berupa nilai STRING. Untuk informasi selengkapnya, lihat Time zones.

Deskripsi nilai kembalian

Mengembalikan nilai TIMESTAMP_NTZ dalam zona waktu yang ditentukan. Aturan berikut berlaku:

  • Jika timestamp bernilai NULL atau bukan nilai TIMESTAMP, maka error dikembalikan.

  • Jika time_zone bernilai NULL, maka NULL dikembalikan.

Contoh

Contoh berikut mengonversi TIMESTAMP dari zona waktu session atau project ke zona waktu tertentu dan mengembalikan nilai TIMESTAMP_NTZ.

-- Mengatur zona waktu session/project ke Asia/Shanghai.
SET odps.sql.timezone=Asia/Shanghai;

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

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

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

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

Mengonversi data datetime STRING dalam format format ke TIMESTAMP_NTZ

Format perintah

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

Deskripsi parameter

date: Wajib. Nilai STRING yang merepresentasikan tanggal dan waktu dalam format yang ditentukan.

format: Wajib. Nilai STRING yang menentukan format tanggal dan waktu. Elemen format berikut didukung:

Elemen format bagian tanggal

  • %Y/yyyy/YYYY: Tahun dengan abad sebagai angka desimal.

  • %y: Tahun tanpa abad sebagai angka desimal (00–99). Angka nol di awal bersifat opsional.

  • %m/mm/MM: Bulan sebagai angka desimal (01–12).

  • %B: Nama lengkap bulan, seperti January.

  • %b/%h: Nama singkat bulan, seperti Jan.

  • %d/dd/DD: Hari dalam bulan sebagai angka desimal (01–31).

  • %e: Hari dalam bulan sebagai angka desimal (1–31). Misalnya, 2 alih-alih 02.

  • %F: Setara dengan %Y-%m-%d (yyyy-mm-dd).

Elemen format bagian waktu

  • %H/hh/HH: Jam (format 24 jam) sebagai angka desimal (00–23).

  • %M/mi/MI: Menit sebagai angka desimal (00–59).

  • %S/ss/SS: Detik sebagai angka desimal (00–60).

  • %X: Waktu dalam format HH:MM:SS.

  • %T: Setara dengan %H:%M:%S (HH:MM:SS).

  • ff3: Milidetik sebagai angka desimal tiga digit (000–999). Ini merepresentasikan bagian pecahan dari detik. Misalnya, gunakan %S.ff3 untuk mencocokkan 00.123.

  • %Ez: Zona waktu numerik (+HH:MM atau -HH:MM).

  • %E<number>S: Detik dengan presisi <number> tempat desimal. Misalnya, gunakan %E3S untuk mencocokkan 00.123.

  • %E*S: Detik dengan presisi penuh 6 digit, seperti 00.123456.

time_zone: Opsional. Zona waktu dari string input. Parameter ini harus berupa nilai STRING. Jika tidak ditentukan, UTC digunakan secara default. Untuk informasi selengkapnya, lihat Time zones.

Deskripsi nilai kembalian

Mengembalikan nilai TIMESTAMP_NTZ. Aturan berikut berlaku:

  • Jika date, format, atau time_zone bernilai NULL, fungsi ini mengembalikan NULL.

  • Jika date input tidak sesuai dengan format, atau jika format tidak valid, fungsi mengembalikan NULL.

Contoh

-- Pengaturan zona waktu session/project tidak memengaruhi timestamp input atau output.
SET odps.sql.timezone=Asia/Shanghai;

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

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

-- Mengembalikan 1970-11-11 00:00:00.123. Elemen tahun tidak tersedia dan secara otomatis diatur ke 1970.
SELECT TO_TIMESTAMP_NTZ('11-11 00:00:00.123','mm-dd hh:mi:ss.ff3');

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

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

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

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

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

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

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

Mengonversi nilai waktu BIGINT ke TIMESTAMP_NTZ

Format perintah

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

Deskripsi parameter

time: Wajib. Menentukan nilai waktu yang akan dikonversi. Parameter ini harus berupa nilai BIGINT.

date_part: Wajib. Nilai STRING yang menentukan satuan waktu dari parameter time. Nilai yang didukung adalah MILLIS (milidetik), MICROS (mikrodetik), dan NANOS (nanodetik).

Deskripsi nilai kembalian

Mengembalikan nilai TIMESTAMP_NTZ dalam UTC. Aturan berikut berlaku:

  • Jika time bernilai NULL, error dikembalikan.

  • Jika date_part bernilai NULL, fungsi mengembalikan NULL.

Contoh

Parameter time adalah nilai BIGINT yang merepresentasikan durasi dalam milidetik (MILLIS), mikrodetik (MICROS), atau nanodetik (NANOS). Fungsi ini menambahkan durasi tersebut ke epoch time 1970-01-01 00:00:00 UTC dan mengembalikan hasilnya sebagai nilai TIMESTAMP_NTZ.

-- Pengaturan zona waktu session/project tidak memengaruhi timestamp input atau output.
SET odps.sql.timezone=Asia/Shanghai;

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

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

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

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

-- Mengembalikan NULL
SELECT TO_TIMESTAMP_NTZ(99999341234, NULL);

Fungsi terkait

TO_TIMESTAMP_NTZ merupakan fungsi tanggal. Untuk informasi selengkapnya mengenai fungsi perhitungan dan konversi tanggal, lihat Date functions.