Typ: TIMESTAMP_NTZ

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 LTS i nowsze

Reprezentuje wartości składające się z wartości pól rok, miesiąc, dzień, godzina, minuta i sekunda. Wszystkie operacje są wykonywane bez uwzględniania strefy czasowej.

Ta funkcja jest dostępna w publicznej wersji zapoznawczej. Zobacz sekcję Uwagi, aby uzyskać informacje o nieobsługiwanych funkcjach.

Aby użyć tej funkcji w usłudze Delta Lake, należy włączyć obsługę tabeli. Obsługa funkcji jest włączana automatycznie podczas tworzenia nowej tabeli delty z kolumną TIMESTAMP_NTZ typu. Nie jest ona włączana automatycznie po dodaniu kolumny TIMESTAMP_NTZ typu do istniejącej tabeli. Aby włączyć obsługę TIMESTAMP_NTZ kolumn, obsługa funkcji musi być jawnie włączona dla istniejącej tabeli.

Włączenie obsługi uaktualnień protokołu tabeli. Zobacz Jak usługa Azure Databricks zarządza zgodnością funkcji usługi Delta Lake?. Następujące polecenie włącza tę funkcję:

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

Składnia

TIMESTAMP_NTZ

Limity

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

Literały

TIMESTAMP_NTZ 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]' }
  • + 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 z przedziału od 01 do 12.
  • [d]d: jeden lub dwa cyfry dnia z zakresu od 01 do 31.
  • h[h]: jedna lub dwie cyfry godziny z zakresu od 00 do 23.
  • m[m]: jedna lub dwie cyfry minuty z zakresu 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.

Jeśli składniki miesiąca lub dnia nie są określone, domyślnie mają wartość 1. Jeśli składniki godzinowe, minutowe lub drugie nie zostaną określone jako domyślne 0.

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

Uwagi

  • Obecnie TIMESTAMP_NTZ typ nie jest jeszcze obsługiwany w:
    • Foton
    • Udostępnianie różnicowe
    • Źródła danych usługi Databricks używane w usługach Power BI, Tableau, Databricks JDBC/ODBC lub sterownikach typu open source usługi Databricks.
  • TIMESTAMP_NTZ Typ jest obsługiwany w źródłach plików, w tym delta/Parquet/ORC/AVRO/JSON/CSV. Istnieje jednak ograniczenie wnioskowania schematu dla plików JSON/CSV z kolumnami TIMESTAMP_NTZ. W przypadku zgodności z poprzednimi wersjami domyślny typ sygnatury czasowej wywnioskowany z spark.read.csv(...) lub spark.read.json(...) będzie typem TIMESTAMP zamiast TIMESTAMP_NTZ.

Przykłady

> SELECT TIMESTAMP_NTZ'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP_NTZ'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP_NTZ'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
  America/Los_Angeles 2021-07-01 08:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP_NTZ)
  1908-03-15 10:01:17

> SELECT TIMESTAMP_NTZ'+10000';
  +10000-01-01 00:00:00