Sdílet prostřednictvím


Typ TIMESTAMP_NTZ

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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:54podporová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 z spark.read.csv(...) nebo spark.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