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 [ (p) ] | TIMESTAMP_LTZ [ (p) ]
  • p: Opcjonalna precyzja od 6 do , 9oznaczająca liczbę cyfr ułamkowych sekund. Wartość domyślna to 6. Określ 9 precyzję nanosekundową.

Important

TIMESTAMP(p) z precyzją 7–9 jest w fazie beta.

Limity

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

Note

Przy zapisie do Delty lub Parquet, TIMESTAMP(p) wartości o precyzji większej niż 6 ograniczone są do lat 1677–2262.

Literały

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]' }
  • + 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][ns][ns][ns]: Do 9 cyfr ułamków sekund. Określ dokładnie dziewięć cyfr ułamkowych, aby skonstruować literal TIMESTAMP(9) .

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.

Aby używać TIMESTAMP(9) kolumn w tabelach Delta Lake, włącz funkcję precyzji znaczników czasu:

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

Aktywowanie tej funkcji aktualizuje protokół tabeli. Klienci, którzy nie obsługują tej funkcji, nie mogą czytać ani zapisywać tabeli. Zobacz kompatybilność funkcji i protokoły Delta Lake.

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

> 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) Ograniczenia tabeli

  • Tabele gór lodowych nie są obsługiwane.
  • Generowane kolumny w tabelach Delta Lake nie są obsługiwane.
  • Kolumny skupiania cieczy w tabelach Delta Lake nie są wspierane.