TIMESTAMP_NTZ-Typ

Gilt für:Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime ab Version 13.3 LTS

Stellt Werte dar, die sich aus Werten der Felder Jahr, Monat, Tag, Stunde, Minute und Sekunde zusammensetzen. Alle Vorgänge werden ohne Berücksichtigung einer Zeitzone ausgeführt.

Dieses Feature befindet sich in der Public Preview. Im Abschnitt Hinweise finden Sie Informationen zu nicht unterstützten Features.

Um dieses Feature in Delta Lake zu verwenden, müssen Sie die Unterstützung für die Tabelle aktivieren. Die Featureunterstützung wird automatisch aktiviert, wenn Sie eine neue Delta-Tabelle mit einer Spalte vom Typ TIMESTAMP_NTZ erstellen. Sie wird nicht automatisch aktiviert, wenn Sie einer vorhandenen Tabelle eine Spalte vom Typ TIMESTAMP_NTZ hinzufügen. Um die Unterstützung für TIMESTAMP_NTZ-Spalten zu aktivieren, muss die Unterstützung für das Feature explizit für die vorhandene Tabelle aktiviert werden.

Aktivieren Sie Unterstützung für Upgrades Ihres Tabellenprotokolls. Weitere Informationen finden Sie unter Wie verwaltet Azure Databricks die Kompatibilität von Delta Lake-Features?. Mit dem folgenden Befehl aktivieren Sie dieses Feature:

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

Syntax

TIMESTAMP_NTZ

Grenzwerte

Die Spanne der Zeitstempel, die unterstützt werden, reicht von -290308-12-21 BCE 19:59:06 bis +294247-01-10 CE 04:00:54.

Literale

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]' }
  • + oder -: Ein optionales Zeichen. - gibt BCE an, + gibt CE (Standard) an.
  • yyyy: Ein Jahr, das mindestens vier Ziffern umfasst.
  • [m]m: Ein ein- oder zweistelliger Monat zwischen 01 und 12.
  • [d]d: Ein ein- oder zweistelliger Tag zwischen 01 und 31.
  • h[h]: Eine ein- oder zweistellige Stunde zwischen 00 und 23.
  • m[m]: Eine ein- oder zweistellige Minute zwischen 00 und 59.
  • s[s]: Eine ein- oder zweistellige Sekunde zwischen 00 und 59.
  • [ms][ms][ms][us][us][us]: Bis zu 6 Ziffern von Sekundenbruchteilen.

Wenn die Monats- oder Tageskomponenten nicht angegeben sind, wird standardmäßig 1 verwendet. Wenn Stunden-, Minuten- oder Sekundenkomponenten nicht angegeben sind, wird standardmäßig 0 verwendet.

Wenn das Literal keinen ordnungsgemäßen Zeitstempel darstellt, löst Azure Databricks einen Fehler aus.

Hinweise

  • Der Typ TIMESTAMP_NTZ wird derzeit noch nicht unterstützt in:
    • Photon
    • Delta Sharing
    • Databricks-Datenquellen, die in Power BI, Tableau, Databricks-JDBC/-ODBC-Treibern oder den Open-Source-Treibern für Databricks verwendet werden.
  • Der Typ TIMESTAMP_NTZ wird in Dateiquellen unterstützt, einschließlich Delta/Parquet/ORC/AVRO/JSON/CSV. Es gibt jedoch eine Einschränkung beim Schemarückschluss für JSON-/CSV-Dateien mit TIMESTAMP_NTZ-Spalten. Aus Gründen der Abwärtskompatibilität ist der standardmäßige abgeleitete Zeitstempeltyp vom spark.read.csv(...) oder spark.read.json(...) vom Typ TIMESTAMP und nicht TIMESTAMP_NTZ.

Beispiele

> 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