Typ: TIMESTAMP

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Representerar värden som består av värden för fälten år, månad, dag, timme, minut och sekund, med den lokala tidszonen för sessionen. Tidsstämpelvärdet representerar en absolut tidpunkt.

Syntax

TIMESTAMP [ (p) ] | TIMESTAMP_LTZ [ (p) ]
  • p: En valfri precision från 6 genom 9, som representerar antalet bråkdelssekunder. Standardvärdet är 6. Specificera 9 nanosekundprecision.

Important

TIMESTAMP(p) med precision 7–9 är i Beta.

Gränser

Intervallet för tidsstämplar som stöds är -290308-12-21 BCE 19:59:06 GMT till +294247-01-10 CE 04:00:54 GMT.

Anmärkning

När man skriver till Delta eller Parquet TIMESTAMP(p) är värden med noggrannhet större än 6 begränsade till åren 1677 till 2262.

Literaler

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]' }
  • + eller -: Ett valfritt tecken. - betyder f.v.t., + betyder e.v.t. (som standard).
  • yyyy: Ett år med minst fyra siffror.
  • [m]m: En eller tvåsiffrig månad mellan 01 och 12.
  • [d]d: En eller tvåsiffrig dag mellan 01 och 31.
  • h[h]: En eller tvåsiffrig timme mellan 00 och 23.
  • m[m]: En minut med en eller två siffror mellan 00 och 59.
  • s[s]: En- eller tvåsiffrig sekund med värden mellan 00 och 59.
  • [ms][ms][ms][us][us][us][ns][ns][ns]: Upp till 9 siffror av bråkdelar av sekunder. Ange exakt nio bråkdelssiffror för att konstruera en TIMESTAMP(9) literal.

zoneId:

  • Z – Zulu tidszon UTC+0
  • +|-[h]h:[m]m
  • Ett ID med något av prefixen UTC+, UTC-, GMT+, GMT-, UT+ eller UT-, och ett suffix i formaten:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • Regionbaserade zon-ID:er i formatet <area>/<city>, till exempel Europe/Paris.

Om komponenterna månad eller dag inte har angetts är de som standard 1. Om komponenterna timme, minut eller sekund inte anges är standardvärdet 0. Om inget zoneId anges är det standardinställningen för sessionstidszonen.

Om literalen inte representerar en korrekt tidsstämpel genererar Azure Databricks ett fel.

Anteckningar

Tidsstämplar med lokal tidszon normaliseras internt och sparas i UTC. När värdet eller en del av det extraheras tillämpas tidszonen för den lokala sessionen.

För att använda TIMESTAMP(9) kolumner i Delta Lake-tabeller, aktivera funktionen tidsstämpelprecision:

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

Att aktivera funktionen uppgraderar tabellprotokollet. Klienter som inte stödjer funktionen kan inte läsa eller skriva tabellen. Se Delta Lake-funktionskompatibilitet och protokoll.

Exempel

> 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) Tabellbegränsningar

  • Isbergsbord stöds inte.
  • Genererade kolumner i Delta Lake-tabeller stöds inte.
  • Vätskeklustringskolumner i Delta Lake-tabeller stöds inte.