Typ: TIMESTAMP_NTZ
Dotyczy: Databricks SQL 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 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 aplikacji Photon wymaga środowiska Databricks Runtime w wersji 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 wnioskowania schematu dla plików JSON/CSV z kolumnami TIMESTAMP_NTZ. W przypadku zgodności z poprzednimi wersjami domyślny typ sygnatury czasowej wywnioskowany zspark.read.csv(...)
lubspark.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