TIMESTAMP tipe

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mewakili nilai yang terdiri dari nilai bidang tahun, bulan, hari, jam, menit, dan detik, dengan zona waktu lokal sesi. Nilai tanda waktu mewakili titik waktu absolut.

Sintaks

TIMESTAMP [ (p) ] | TIMESTAMP_LTZ [ (p) ]
  • p: Presisi opsional dari 6 melalui 9, yang mewakili jumlah digit pecahan detik. Defaultnya adalah 6. Tentukan 9 presisi nanodetik.

Important

TIMESTAMP(p) dengan presisi 7–9 berada di tahap Beta.

Batas

Rentang stempel waktu yang didukung adalah -290308-12-21 BCE 19:59:06 GMT hingga +294247-01-10 CE 04:00:54 GMT.

Note

Saat menulis ke Delta atau Parquet, TIMESTAMP(p) nilai dengan presisi lebih tinggi dibatasi 6 pada tahun 1677 hingga 2262.

Literasi

TIMESTAMP timestampString

TIMESTAMP_LTZ timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us][ns][ns][ns][zoneId]' }
  • + atau -: Tanda opsional. - menunjukkan BCE, + menunjukkan CE (default).
  • yyyy: Setahun yang terdiri dari setidaknya empat digit.
  • [m]m: Satu atau dua digit bulan antara 01 hingga 12.
  • [d]d: Satu atau dua digit hari antara 01 hingga 31.
  • h[h]: Satu atau dua digit jam antara 00 hingga 23.
  • m[m]: Satu atau dua digit menit antara 00 hingga 59.
  • s[s]: Satu atau dua digit detik antara 00 hingga 59.
  • [ms][ms][ms][us][us][us][ns][ns][ns]: Hingga 9 digit detik pecahan. Tentukan tepat sembilan digit fraksional untuk membangun sebuah TIMESTAMP(9) literal.

zoneId:

  • Z - Zona waktu Zulu UTC+0
  • +|-[h]h:[m]m
  • ID dengan salah satu awalan UTC+, UTC-, GMT+, GMT-, UT+ atau UT-, dan akhiran dalam format:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • ID zona berbasis wilayah dalam bentuk <area>/<city>, misalnya, Europe/Paris.

Jika komponen bulan atau hari tidak ditentukan, komponen tersebut default ke 1. Jika komponen jam, menit, atau detik tidak ditentukan, komponen tersebut default ke 0. Jika zoneId tidak ditentukan, maka akan default ke zona waktu sesi,

Jika literal tidak mewakili tanda waktu yang tepat, Azure Databricks akan menghasilkan kesalahan.

Catatan

Tanda waktu dengan zona waktu lokal dinormalisasi secara internal dan bertahan di UTC. Setiap kali nilai atau bagiannya diekstrak zona waktu sesi lokal diterapkan.

Untuk menggunakan TIMESTAMP(9) kolom dalam tabel Delta Lake, aktifkan fitur presisi timestamp:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampPrecision' = 'supported')

Mengaktifkan fitur ini akan meningkatkan protokol tabel. Klien yang tidak mendukung fitur ini tidak dapat membaca atau menulis tabel. Lihat Kompatibilitas dan protokol fitur Delta Lake.

Contoh

> SELECT TIMESTAMP'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
  America/Los_Angeles 2021-06-30 22:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
  1908-03-15 10:01:17

> SELECT TIMESTAMP'+10000';
  +10000-01-01 00:00:00

> SELECT typeof(TIMESTAMP'2026-08-18 14:30:45.123456789');
  TIMESTAMP(9)

> SELECT CAST('2026-08-18 14:30:45.123456789' AS TIMESTAMP(9));
  2026-08-18 14:30:45.123456789

TIMESTAMP(9) Batasan tabel

  • Tabel gunung es tidak didukung.
  • Kolom yang dihasilkan dalam tabel Delta Lake tidak didukung.
  • Kolom pengelompokan cairan dalam tabel Delta Lake tidak didukung.