Typ TIMESTAMP_NTZ
Platí pro: Databricks SQL Databricks Runtime 13.3 LTS a vyšší
Představuje hodnoty tvořené hodnotami polí rok, měsíc, den, hodina, minuta a sekunda. Všechny operace se provádějí bez zohlednění časového pásma.
Tato funkce je ve verzi Public Preview. Informace o nepodporovaných funkcích najdete v části Poznámky .
Pokud chcete tuto funkci použít v Delta Lake, musíte povolit podporu pro tabulku. Podpora funkcí se povolí automaticky při vytváření nové tabulky Delta se sloupcem TIMESTAMP_NTZ
typu. Není povolen automaticky, když přidáte sloupec typu TIMESTAMP_NTZ
do existující tabulky. Pokud chcete povolit podporu TIMESTAMP_NTZ
sloupců, musí být pro existující tabulku explicitně povolená podpora této funkce.
Povolení podpory upgraduje protokol tabulky. Viz Jak Azure Databricks spravuje kompatibilitu funkcí Delta Lake?. Následující příkaz povolí tuto funkci:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')
Syntaxe
TIMESTAMP_NTZ
Omezení
Rozsah časových razítek je -290308-12-21 BCE 19:59:06
+294247-01-10 CE 04:00:54
podporován .
Literály
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]' }
+
nebo-
: Volitelné znaménko.-
označuje BCE,+
označuje CE (výchozí).yyyy
: Rok obsahující nejméně čtyři číslice.[m]m
: Jeden nebo dva číslice měsíc mezi 01 a 12.[d]d
: Jeden nebo dva číslice den mezi 01 a 31.h[h]
: Jedna nebo dvě číslice hodina mezi 00 a 23.m[m]
: Jedna nebo dvě číslice minut mezi 00 a 59.s[s]
: Jedna nebo dvě číslice sekunda mezi 00 a 59.[ms][ms][ms][us][us][us]
: Až 6 číslic desetinných sekund.
Pokud nejsou zadané součásti měsíce nebo dne, výchozí hodnota je 1. Pokud není zadána hodina, minuta nebo druhá komponenta, výchozí hodnota je 0.
Pokud literál nepředstavuje správné časové razítko Azure Databricks, vyvolá chybu.
Notes
TIMESTAMP_NTZ
má následující omezení:
- Podpora Photon vyžaduje Databricks Runtime 15.4 a novější.
- Nepodporuje se ve zdrojích dat Databricks používaných v Power BI, Tableau, Ovladačích JDBC/ODBC Databricks nebo open source ovladačích Databricks.
- Rozdílové sdílení v Databricks Runtime 14.0 a níže se nepodporuje.
TIMESTAMP_NTZ
Typ se podporuje ve zdrojích souborů, včetně Delta/Parquet/ORC/AVRO/JSON/CSV. Existuje však omezení pro odvozování schématu pro soubory JSON/CSV s TIMESTAMP_NTZ sloupci. Z důvodu zpětné kompatibility bude výchozí typ časového razítka odvozeného zspark.read.csv(...)
nebospark.read.json(...)
bude typu TIMESTAMP namísto TIMESTAMP_NTZ.
Příklady
> 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