Dela via


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

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.

Literaler

TIMESTAMP 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][zoneId]' }
  • + eller -: Ett valfritt tecken. - anger BCE, + anger CE (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å siffror sekund mellan 00 och 59.
  • [ms][ms][ms][us][us][us]: Upp till 6 siffror i bråksekunder.

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.

Kommentar

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.

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