Udostępnij za pośrednictwem


Typ: TIMESTAMP

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Reprezentuje wartości składające się z wartości pól roku, miesiąca, dnia, godziny, minuty i sekundy z lokalną strefą czasową sesji. Wartość znacznika czasu reprezentuje bezwzględny punkt w czasie.

Składnia

TIMESTAMP

Limity

Obsługiwany zakres sygnatur czasowych to -290308-12-21 BCE 19:59:06 GMT+294247-01-10 CE 04:00:54 GMT.

Literały

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]' }
  • + lub -: opcjonalny znak. - wskazuje BCE, + wskazuje CE (wartość domyślna).
  • yyyy: rok składający się z co najmniej czterech cyfr.
  • [m]m: miesiąc jedno- lub dwucyfrowy z przedziału od 01 do 12.
  • [d]d: Jedno- lub dwucyfrowy dzień z przedziału od 01 do 31.
  • h[h]: jedna lub dwie cyfry godziny z zakresu od 00 do 23.
  • m[m]: jedno- lub dwucyfrowa liczba minut w zakresie od 00 do 59.
  • s[s]: jedna lub dwie cyfry sekundy z zakresu od 00 do 59.
  • [ms][ms][ms][us][us][us]: Maksymalnie 6 cyfr ułamkowych sekund.

zoneId:

  • Z - Strefa czasowa Zulu UTC+0
  • +|-[h]h:[m]m
  • Identyfikator z jednym z prefiksów UTC+, UTC-, GMT+, GMT-, UT+ lub UT-, a sufiks w formatach:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • Identyfikatory stref opartych na regionie w formularzu <area>/<city>, na przykład Europe/Paris.

Jeśli składniki miesiąca lub dnia nie są określone, domyślnie mają wartość 1. Jeśli składniki godzin, minut lub sekund nie zostaną określone, przyjmują wartość 0. Jeśli nie określono zoneId, domyślnie używana jest strefa czasowa sesji,

Jeśli literał nie reprezentuje odpowiedniego znacznika czasu, usługa Azure Databricks zgłasza błąd.

Uwagi

Znaczniki czasu z lokalną strefą czasową są znormalizowane wewnętrznie i utrwalane w formacie UTC. Za każdym razem, gdy wartość lub część jest wyodrębniona, strefa czasowa sesji lokalnej jest stosowana.

Przykłady

> 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