Megosztás a következőn keresztül:


TIMESTAMP_NTZ típus

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 13.3 LTS és újabb

Az év, a hónap, a nap, az óra, a perc és a másodperc mezőiből álló értékeket jelöli. Minden műveletet anélkül hajtunk végre, hogy az időzónát figyelembe vesszük.

Ez a funkció a nyilvános előzetes verzióban érhető el. A nem támogatott funkciókért tekintse meg a Megjegyzések szakaszt.

Ha ezt a funkciót a Delta Lake-en szeretné használni, engedélyeznie kell a tábla támogatását. A funkciótámogatás automatikusan engedélyezve van, amikor új Delta-táblázatot hoz létre egy típusoszlopmal TIMESTAMP_NTZ . Ha egy meglévő táblához típusoszlopot TIMESTAMP_NTZ ad hozzá, a rendszer nem engedélyezi automatikusan. Az oszlopok támogatásának TIMESTAMP_NTZ engedélyezéséhez a funkció támogatását explicit módon engedélyezni kell a meglévő táblához.

A támogatás engedélyezése frissíti a táblaprotokollt. Lásd : Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?. A következő parancs engedélyezi ezt a funkciót:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')

Syntax

TIMESTAMP_NTZ

Korlátok

A támogatott időbélyegek tartománya a -290308-12-21 BCE 19:59:06 következő +294247-01-10 CE 04:00:54: .

Literálok

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]' }
  • + vagy -: Választható jel. - A BCE-t, + a CE-t (alapértelmezett) jelzi.
  • yyyy: Legalább négy számjegyből álló év.
  • [m]m: Egy vagy két számjegyű hónap 01 és 12 között.
  • [d]d: Egy vagy két számjegyű nap 01 és 31 között.
  • h[h]: Egy vagy két számjegyű óra 00 és 23 között.
  • m[m]: Egy vagy két számjegyű perc 00 és 59 között.
  • s[s]: Egy vagy két számjegy másodperc 00 és 59 között.
  • [ms][ms][ms][us][us][us]: Legfeljebb 6 számjegy tört másodpercig.

Ha a hónap vagy a nap összetevő nincs megadva, alapértelmezés szerint 1. Ha az óra, a perc vagy a második összetevő nincs megadva, alapértelmezés szerint 0 lesz.

Ha a literál nem felel meg a megfelelő időbélyegnek, az Azure Databricks hibát jelez.

Jegyzetek

TIMESTAMP_NTZ a következő korlátozásokkal rendelkezik:

  • A Photon-támogatáshoz a Databricks Runtime 15.4-et és újabb verzióit kell támogatni.
  • A Power BI, Tableau, Databricks JDBC/ODBC-illesztőprogramokban vagy Databricks nyílt forráskód illesztőprogramokban használt Databricks-adatforrások nem támogatottak.
  • Nem támogatott a Delta Sharing a Databricks Runtime 14.0-s és újabb verzióban.
  • TIMESTAMP_NTZ a típus támogatott a fájlforrásokban, beleértve a Delta/Parquet/ORC/AVRO/JSON/CSV fájlokat. Az TIMESTAMP_NTZ oszlopokat tartalmazó JSON-/CSV-fájlok sémakövetkeztetése azonban korlátozott. A visszamenőleges kompatibilitás érdekében az alapértelmezett késleltetett időbélyegtípus a TIMESTAMP_NTZ helyett a TIMESTAMP típusból származik spark.read.csv(...) vagy spark.read.json(...) az lesz.

Példák

> 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