Udostępnij za pośrednictwem


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 values składający się z values z pól roku, miesiąca, dnia, godziny, minuty i sekundy. 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ę table. Obsługa funkcji jest włączana automatycznie, gdy tworzysz nową Delta table z column typu TIMESTAMP_NTZ. Nie jest on uruchamiany automatycznie po dodaniu column typu TIMESTAMP_NTZ do istniejącego table. Aby włączyć obsługę TIMESTAMP_NTZcolumns, należy wyraźnie włączyć obsługę tej funkcji dla istniejącej table.

Aktywacja wsparcia uaktualnia twój protokół table. Zobacz artykuł 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

TIMESTAMP_NTZ ma następujące ograniczenia:

  • obsługa usługi Photon wymaga usługi Databricks SQL lub Databricks Runtime 15.4 lub nowszej.
  • Nieobsługiwane w źródłach danych usługi Databricks używanych w usługach Power BI, Tableau, Databricks JDBC/ODBC lub sterownikach typu open source usługi Databricks.
  • Udostępnianie różnicowe w środowisku Databricks Runtime 14.0 lub nowszym nie jest obsługiwane.
  • TIMESTAMP_NTZ Typ jest obsługiwany w źródłach plików, w tym delta/Parquet/ORC/AVRO/JSON/CSV. Istnieje jednak ograniczenie dotyczące wnioskowania schema dla plików JSON/CSV z TIMESTAMP_NTZ columns. 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