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. Podívejte se, 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

  • V současné době TIMESTAMP_NTZ se typ zatím nepodporuje v:
    • Foton
    • Rozdílové sdílení
    • Zdroje dat Databricks používané v Ovladačích Power BI, Tableau, Databricks JDBC/ODBC nebo Open Source ovladače Databricks
  • 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