Typ TIMESTAMP

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Představuje hodnoty obsahující hodnoty pro rok, měsíc, den, hodinu, minutu a sekundu s místním časovým pásmem relace. Hodnota časového razítka představuje absolutní bod v čase.

Syntaxe

TIMESTAMP

Omezení

Rozsah časových razítek je -290308-12-21 BCE 19:59:06 GMT +294247-01-10 CE 04:00:54 GMTpodporován .

Literály

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]' }
  • + nebo -: Volitelné znaménko. - označuje BCE, + označuje CE (výchozí).
  • yyyy: Rok obsahující nejméně čtyři číslice.
  • [m]m: Jeden nebo dva číslice měsíc mezi 01 a 12.
  • [d]d: Jeden nebo dva číslice den mezi 01 a 31.
  • h[h]: Jedna nebo dvě číslice hodina mezi 00 a 23.
  • m[m]: Jedna nebo dvě číslice minut mezi 00 a 59.
  • s[s]: Jedna nebo dvě číslice sekunda mezi 00 a 59.
  • [ms][ms][ms][us][us][us]: Až 6 číslic desetinných sekund.

zoneId:

  • Z - Zulu časové pásmo UTC+0
  • +|-[h]h:[m]m
  • ID s jednou z předpon UTC+, UTC-, GMT+, GMT-, UT+ nebo UT-, a příponou ve formátech:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • ID zón založených na oblastech ve formuláři <area>/<city>, Europe/Parisnapříklad .

Pokud nejsou zadané součásti měsíce nebo dne, výchozí hodnota je 1. Pokud není zadána hodina, minuta nebo druhá komponenta, výchozí hodnota je 0. Pokud není zadána žádná zoneId , výchozí hodnota je časové pásmo relace,

Pokud literál nepředstavuje správné časové razítko Azure Databricks, vyvolá chybu.

Notes

Časová razítka s místním časovým pásmem se interně normalizují a uchovávají ve standardu UTC. Při každém extrahování hodnoty nebo části relace se použije časové pásmo místní relace.

Příklady

> 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